DDT page# 0001 next
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
DDT page# 0002 next prev
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84: IFNDEF FTDDT,<FTDDT←←-1>
85: IFN FTDDT,<
86: IFNDEF FTDSWP,<↓FTDSWP←←0>
87: IFNDEF EDDT,<↓EDDT←←0>
88: IFE EDDT&20,<↓FTDSWP←←0>
89: IFN EDDT,<IFE EDDT&40,<BEGIN DDT>>
90: SUBTTL DDT 7 APRL 1968
91:
92: IFNDEF SAVESW,<SAVESW←0>
93: IFNDEF UEDDTS,<UEDDTS←0>
94:
95: DEFINE XP' (X.,Y.),<
96: X.←←Y.
97: >
98:
99: IFN EDDT&40,<TITLE DDT - EXEC MODE VERSION>
100: IFN EDDT,<SUBTTL DDT - EXEC MODE VERSION
101: JOBREL←←37
102: JOBSYM←←36
103: ZLOW←←40>
104:
105: IFE EDDT,<TITLE UDDT - USER MODE DDT
106: EXTERN JOBREL,JOBSYM,JOBSA,JOBHRL,JOBFF
107: ZLOW←←140>
108: IFN EDDT&1,<
109: F←←0
110: R←←1
111: S←←2
112: IFE EDDT&20,<P←←3>
113: W←←4
114: T←←5
115: W1←←6
116: W2←←7
117: SCH←←10
118: AR←←11
119: ODF←←12
120: A←←R
121: B←←S
122: TT←←13
123: >
124: IFE EDDT&1,<
125: F←0
126: P←1
127: R←2
128: S←3
129: W←4
130: T←5
131: W1←6
132: W2←7
133: SCH←10
134: AR←11
135: ODF←12
136: A←R
137: B←S
138: TT←13
139: >
140:
141:
142: C←←W
143:
144: PRS←←4
145: TTYY←←120
146: PTRR←←104
147: PTPP←←100
148:
149: LPDL←←50
150:
DDT page# 0003 next prev
152: COMF←←200000
153: TIF←←100000
154: PTF←←100
155: CTF←←400
156: SF←←4
157: QF←←1
158:
159: CF←←40
160: CCF←←10000
161: MF←←2
162: LTF←←20
163: ROF←←10
164: STF←←4000
165: FAF←←1000
166: SAF←←2000
167:
168: FPF←←20000
169: FEF←←400000
170:
171: MLF←←200
172: DVF←←40000
173:
174: PPID←←0
DDT page# 0004 next prev
176:
177:
178: ITF←←2
179: OUTF←←4
180: CF1←←400
181: LF1←←2000
182: Q2F←←1
183: R20F←←10
184: SBF←←20
185: NAF←←200
186: POWF←←4000
187: EQF←←20000
188:
189: GLOBAL←←040000
190: LOCAL←←100000
191: PNAME←←740000
192: DELI←←200000
193: DELO←←400000
194: IFE EDDT&1,<
195: LOC 74
196: DDT
197: IFN UEDDTS,<LOC 124
198: DDTREN>>
199: IFE EDDT&1,<RELOC 0>
200: IFN EDDT&<XWD -1,0>,<LOC <EDDT>B53>
201:
202:
203:
204: INTERN DDT,$M,DDTEND
205:
206: RADIX =10
207: NBP←←8
208: IFN EDDT&20,<NBP←←30>
209:
210: RADIX =8
211:
212: IFE UEDDTS,<DEFINE SYMTST<>>
213: IFN UEDDTS,<DEFINE SYMTST
214: < SKIPE SYMLUZ
215: PUSHJ P,SYMPR>
216: OPDEF SETPR2[CALLI 400052]
217: MAXPR←←400000
DDT page# 0005 next prev
219: DEFINE DEVICES
220: <
221: XQ APR,0
222: XQ PI,4
223: XQ IOP,10
224: XQ PAG,24
225: XQ PTP,100
226: XQ PTR,104
227: XQ CTY,120
228: XQ LPT,124
229: XQ DC,200
230: XQ DCB,204
231: XQ DTC,210
232: XQ DTS,214
233: XQ MTC,220
234: XQ MTS,224
235: XQ MTM,230
236: XQ ADC,240
237: XQ DAC,244
238: XQ DCSA,300
239: XQ DCSB,304
240: XQ DKB,310
241: XQ VMI,364
242: XQ PK,370
243: XQ DIL,374
244: XQ IMP,400
245: XQ TV,404
246: XQ PEN,414
247: XQ ARM,420
248: XQ AD,424
249: XQ DPY,430
250: XQ KBD,434
251: XQ XGP,440
252: XQ DSK,444
253: XQ D11,470
254: XQ PMP,500
255: XQ IBM,504
256: XQ DDD,510
257: XQ PCLK,730
258: XQ AS,774
259: >
260:
261:
262: IFN EDDT&1,<
263: IFE EDDT&20,<
264:
265: DEFINE XQ(A,B)
266: <A←←B
267: >
268: DEVICES
269: >
270: >
271:
272: XP OR,<<IOR>>
273: XP JOV,2554B11
274: XP JEN,2545B11
275: IFE EDDT&20,<XP HALT,2542B11>
DDT page# 0006 next prev
277:
278:
279: BP1: REPEAT NBP,< 0
280: JSA T, BCOM
281: 0
282: 0
283: >
284:
285: B1INS←←BP1+2
286: BPN←←.-4
DDT page# 0007 next prev
288: BCOM: 0
289: POP T,LEAV
290: MOVEI T,B1SKP-B1INS+1(T)
291: HRRM T,BCOM3
292: MOVEI T,B1CNT-B1SKP(T)
293: HRRM T,BCOM2
294: MOVE T,BP1-B1CNT(T)
295: IFN EDDT&1,< TLZ T,010000
296: HLLM T,LEAV1
297: EXCH T,BCOM
298: IFN FTDSWP,<
299: CONSZ APR,MAOFF
300: JRST BCOM3
301: SKIPE INDDT
302: SKIPN KEEPIN
303: HALT NOBREAK
304: >
305: BCOM3: SKIPN B1SKP
306: JRST BCOM2
307: XCT @BCOM3
308: JRST NOBREAK
309: BCOM2: SOSG B1CNT
310: JRST BREAK
311: NOBREAK:
312: MOVEM T,AC0+T
313: LDB T,[POINT 9,LEAV,8]
314: CAIL T,264
315: CAILE T,266
316: TRNN T,700
317: JRST PROC1
318: CAIE T,260
319: CAIN T,256
320: JRST PROC1
321: MOVE T,AC0+T
322: JRST 2,@LEAV1
323:
324: LEAV1: XWD 0,LEAV
325:
326: PROC1: MOVE T,AC0+T
327: JSR SAVE
328: JFCL
329: JRST PROC2
330:
331: LEAV: 0
332: JRST @BCOM
333: AOS BCOM
334: JRST @BCOM
335:
336: BREAK: JSR SAVE
337: JRST BREAKA
338: JRST BREAKB
DDT page# 0008 next prev
340: SAVE: 0
341: SKIPN SARS
342: JRST SAV1
343: AOS SAVE
344: JRST SAV5
345: SAV1:
346: IFN EDDT&1,<
347: CONI APR,SAVAPR
348: CONI PRS,SAVPI
349: CONO PRS, @SAVPI+1
350: >
351: MOVEM 17,AC17
352: HRRZI 17,AC0
353: BLT 17,AC0+16
354: MOVE T, SAVE
355: HLLM T, SAVPI
356: SAV5: SETOM SARS
357: MOVEI P,PS
358: IFN FTDSWP&EDDT&1,<
359: PUSHJ P,GETDDT
360: >
361: IFE EDDT&1,<PUSHJ P,TTYRET>
362: MOVEI F,0
363: MOVE T,[XWD SCHM,SCH]
364: BLT T,ODF
365: JRST @SAVE
366:
367: XCTBUF:
368: REPEAT 10,<CONO PRS,@SAVPI
369: 0
370: SKIPA
371: AOS .+1
372: JRST .
373: 0
374: >
375:
376: XCTQ←←6
377:
378: RESTORE: SETOM TEM3
379: RESTR1: HRRM T,SAVE
380: IFN 0&EDDT&1,<
381: MOVE T,SAVAPR
382: ANDI T,SYSCLB!7
383: TRNN T,SYSCLB
384: CONO APR,CLRCLB(T)
385:
386: >
387: MOVE T,SAVPI
388: HLLM T, SAVE
389: MOVEM W,TEMDDT
390: IFN EDDT&1,<
391: AND T, SAVPI+1
392: ANDI T,177
393: IORI T, 2000
394: EXCH T, SAVPI>
395: MOVEI W,XCTBUF
396: ZZ←←7
397: REPEAT 7,<
398: TRNE T,1⊗<17-ZZ>
399: MOVEI W,XCTBUF+<XCTQ*ZZ>
400: ZZ←←ZZ-1
401: >
402: HLL W,SAVE
403: MOVEM W,RES2
404: IFE EDDT&1,<AOS RES2>
405: MOVE T,TEMDDT
406: MOVEM T,1(W)
407: HRRZ T,SAVE
408: HRRM T,4(W)
409: SKIPGE TEM3
410: JRST RES3
411: MOVE T,BCOM
412: MOVEM T,5(W)
413: MOVEI T,5(W)
414: HRRM T,1(W)
415: RES3:
416: IFN EDDT&20,<
417: MOVE TAC,MONPTR
418: PUSHJ P,CHECK
419: SKIPN $M-1
420: MOVEM TAC1,MONSUM
421: IFN FTDSWP,<
422: PUSHJ P,GETBAK
423: >
424: >
425: MOVSI 17,AC0
426: BLT 17,17
427: SETZM SARS
428: JRST 2,@RES2
429:
430: RES2: 0
431:
DDT page# 0009 next prev
433: XEC0: MOVEM T,TEMDDT
434: PUSHJ P,CRF
435: PUSHJ P,TTYLEV
436: PUSHJ P,INSRTB
437: MOVE W,TEMDDT
438: JSP T,RESTORE
439: XEC1: JRST DDT
440: JSR SAVE
441: PUSHJ P,REMOVB
442: PUSHJ P,CRF
443: JRST DD1
444:
445:
446: RETB: HRRZ T,BCOM2
447: SKIPE T,1(T)
448: HRLI T,(<POINT 7,0>)
449: MOVEM T,STRING
450: JRST RET
DDT page# 0010 next prev
452: IFN EDDT&1,<STARTA: 0>
453: IOTBL:
454: IFN EDDT&1!UEDDTS,<
455: DEFINE XQ(A,B)
456: < B
457: >
458: DEVICES
459: >
460: REPEAT 10,<-1>
461: IOTLG←.-IOTBL
462: SAVPI: 0
463: XP $I,SAVPI
464: 1077
465: SAVTTY: 0
466:
467: IFN EDDT&1,<OUTLPT: 0
468: SAVAPR: 0 >
469: OUTRTN:0
470: STRING: 0
471: MSK: XWD -1,-1
472: XP $M,MSK
473: MXINC: 100
474: BMASK: 0
475: FLGPTR: 0
476: B1ADR: 0
477: B1SKP: 0
478: B1CNT: 0
479: B1STR: 0
480:
481: DEFINE DBPNT ! (Z.) <XP $!Z.!B,B1ADR+4*Z.-4>
482:
483: RADIX =10
484: FOR QZ←1,NBP
485: <DBPNT (QZ)
486: >
487: RADIX =8
488: REPEAT NBP*4-4, < 0>
489:
490: BNADR←←.-4
491: AUTOPI: 0
492:
493: AC0: BLOCK 17
494:
495: AC17: 0
496:
497: SCHM: PIN
498: PADSO
499: ODFM: 10
500:
501: SARS: 0
502: TEM1: 0
503:
504: PS: BLOCK LPDL
DDT page# 0011 next prev
506: TBLK: 0
507: TEMDDT: 0
508: BLOCK: 0
509: SVF: 0
510: SW1: 0
511: SVFB: 0
512: SVTB: 0
513: BLVL: 0
514: WRD: 0
515: WRD2: 0
516: PRNC: 0
517:
518: FRASE: 0
519: SYL: 0
520: LWT: 0
521: TEM2: 0
522: FRASE1:
523: TEM3: 0
524: DENDDT: 0
525:
526: PRGM: 0
527: FSV: 0
528: FHTTMP: 0
529: FHDTMP: 0
530: SYM: 0
531: SPSAV: 0
532: DEFV: 0
533: ULIMIT: 0
534: LLOC: 0
535: LLOCO: 0
536: SAVLOC: 0
537: IOTFLG: 0
538: SYMP:IFN UEDDTS,<EXCSYM
DDT page# 0012 next prev
540: IFN FTDSWP&EDDT&1,<
541:
542:
543:
544:
545:
546:
547:
548:
549:
550:
551:
552:
553:
554:
555:
556:
557:
558:
559:
560:
561:
562:
563:
564:
565:
566:
567:
568:
569:
570: DDTTRY←←10
571:
572: ↑↑DDTSWP: -1
573: ↑↑NOTDDT: 0
574:
575: ↑↑KEEPIN: -1
576:
577: ↑↑INDDT: -1
578:
579: ↑↑SYMLOC: 0
580:
581: ↑↑EXMCOR: 0
582:
583: ↑↑DDTSUM: 0
584:
585: DDTIOP: 0
586:
587: SWPWRD: 0
588:
589: USROFF: 0
590:
DDT page# 0013 next prev
592:
593:
594: ↑DDTINI:
595: SKIPE DDTSUM
596:
597: CONSZ DSK,1B27
598: SETZM DDTSWP
599: SKIPN DDTSWP
600: SKIPN INDDT
601: CAIA
602: JRST SETIN
603: PUSHJ P,DDTREAD
604: JRST CANTSWP
605: CAIA
606: SKIPN DDTSWP
607: JRST SETIN
608: SETOUT: SETZM KEEPIN
609: SETZM INDDT
610: SETZM DDTSYM
611: SETZM EXMCOR
612: MOVEI TAC,DDTA
613: MOVEM TAC,SYSSIZ
614: POPJ P,
615: SETIN: SETOM KEEPIN
616: HLRE TAC,DDTSYM
617: MOVMS TAC
618: ADD TAC,DDTSYM
619: JUMPN TAC,.+2
620: MOVEI TAC,DDTEND
621: HRRZM TAC,SYSSIZ
622: SETOM EXMCOR
623: POPJ P,
624: CANTSWP:
625: MOVE TAC,[HALT 201]
626: MOVEM TAC,DDT
627: JRST SETOUT
DDT page# 0014 next prev
629:
630:
631: GETDDT: SKIPN INDDT
632: CONSO APR,MAOFF
633: POPJ P,
634:
635:
636: SKIPN P2NUM
637: JRST GETDD1
638: SETOM P2STP1
639: MOVE TAC,[JSR P2STOP]
640: EXCH TAC,40+2*APRCHN
641: MOVEM TAC,P2STP0
642: MOVSI TAC,1
643: SKIPE P2STP1
644: SOJG TAC,.-1
645: JUMPG TAC,GETDD1
646: JSP TAC,DDTMES
647: ASCIZ /STOP THE PDP-6 AND CONTINUE THE -10
648: /
649: HALT GETDD1
650:
651: GETDD1: MOVSI TAC,1
652: CONSO PMP,100020
653: SOJGE TAC,.-1
654: MOVEI TAC,.
655: CAMGE TAC,37
656: JRST GETDD2
657: CAMGE TAC,RMEMSIZE
658: MOVE TAC,RMEMSIZE
659: SUBI TAC,1
660: MOVEM TAC,37
661:
662: GETDD2: CONSO IOP,777770
663: JRST IOPFRE
664: MOVSI TAC,1
665: CONSO IOP,IOPANY!IOPJDN
666: SOJG TAC,.-1
667: IOPFRE: CONI IOP,TAC
668: TRNN TAC,IOPRLY
669: CONSZ DSK,3770
670: TRO TAC,IOPMIS
671: MOVEM TAC,DDTIOP
672: MOVEI TAC1,DDTTRY
673: OUTLOS: CONO DSK,0
674: CONO IOP,100
675: PUSHJ P,SETUSR
676: SOJG TAC1,OUTLOS
677: JUMPG TAC1,NOLOSO
678: JSP TAC,DDTMES
679: ASCIZ/
680: FAILED TO GET USER WRITTEN OUT!
681: CONTINUE TO TRY TO GET DDT IN.
682: /
683: HALT .+1
684: NOLOSO: PUSHJ P,DDTREAD
685: JRST NODDT
686: JRST NOSYM
687: LOSCON: CONO IOP,@DDTIOP
688: POPJ P,
689: NODDT: JSP TAC,DDTMES
690: ASCIZ/
691: FAILED TO GET DDT IN AT ALL!
692: CONTINUE TO TRY AGAIN.
693: /
694: HALT NOLOSO
695: NOSYM: JSP TAC,DDTMES
696: ASCIZ/
697: FAILED TO GET SYMBOL TABLE IN!
698: CONTINUE TO ENTER DDT ANYWAY.
699: /
700: HALT LOSCON
DDT page# 0015 next prev
702:
703:
704: GETBAK: CONSO APR,MAOFF
705: POPJ P,
706: SKIPN KEEPIN
707: SKIPN INDDT
708: POPJ P,
709: SETZM DDTSYM
710:
711:
712:
713:
714:
715:
716:
717:
718:
719:
720:
721: NOUPDATE:
722: MOVEI TAC1,DDTTRY
723: SETZM INDDT
724: USRLOS: CONO DSK,0
725: CONO IOP,0
726: PUSHJ P,SETUSR
727: SOJG TAC1,USRLOS
728: CONO IOP,@DDTIOP
729: JUMPG TAC1,USRLS1
730: JSP TAC,DDTMES
731: ASCIZ/
732: FAILED TO RESTORE LOSER CORE!
733: CONTINUE TO IGNORE.
734: /
735: HALT .+1
736: USRLS1: MOVE TAC,P2STP0
737: MOVEM TAC,40+APRCHN*2
738: SETOM P2STP1
739: POPJ P,
740:
741: P2STP0: 0
742: P2STP1: 0
743: P2STP2: 0
744: P2STOP: 0
745: CONO PI,PIOFF
746: MOVEM TAC,P2STP2
747: SETZM P2STP1
748: MOVE TAC,P2STP1
749: JUMPE TAC,.-1
750: MOVE TAC,P2STP2
751: CONO PI,PION
752: JEN @P2STOP
DDT page# 0016 next prev
754:
755:
756: DDTREAD:MOVEI TAC1,DDTTRY
757: DDTLOS: CONO DSK,0
758: CONO IOP,0
759: MOVE TAC,[XWD DDTA-DDTEND-40,DDTA]
760: ANDCMI TAC,37
761: DATAO IOP,TAC
762: MOVEI TAC,DDTA
763: ASH TAC,-5
764: PUSHJ P,SECTOR
765: PUSHJ P,IOPWAIT
766: SOJG TAC1,DDTLOS
767: SETZM DDTSYM
768: JUMPLE TAC1,CPOPJ
769: SETOM INDDT
770: MOVE TAC,[XWD DDTA-DDTEND,DDTA]
771: PUSHJ P,CHECK
772: SKIPN DDTSUM
773: MOVEM TAC1,DDTSUM
774: CAMN TAC1,DDTSUM
775: JRST SUMOK
776: JSP TAC,DDTMES
777: ASCIZ/
778: DDT CHECKSUM FAILURE!
779: /
780: SUMOK: MOVEI TAC1,DDTTRY
781: SYMLOS: CONO DSK,0
782: CONO IOP,0
783: PUSHJ P,SETSYM
784: SOJG TAC1,SYMLOS
785: JUMPLE TAC1,CPOPJ1
786: MOVE TAC,SYMLOC
787: ANDCMI TAC,777740
788: ADDI TAC,DDTEND
789: MOVEM TAC,DDTSYM
790: JRST CPOPJ2
DDT page# 0017 next prev
792:
793:
794: SETSYM: SKIPN TAC,SYMLOC
795: POPJ P,
796: HLLZS TAC
797: ADD TAC,[XWD -40,DDTEND]
798: DATAO IOP,TAC
799: HRRZ TAC,SYMLOC
800: ASH TAC,-5
801: PUSHJ P,SECTOR
802: JRST IOPWAIT
803:
804:
805:
806: SETUSR: MOVSI TAC,DDTA-DDTEND-100
807: ADD TAC,SYMLOC
808: HRRI TAC,DDTA
809: ANDCMI TAC,37
810: MOVEM TAC,BOOTWC
811: DATAO IOP,TAC
812: HLRE TAC,SYMLOC
813: MOVMS TAC
814: ADD TAC,SYMLOC
815: HRRZS TAC
816: JUMPN TAC,.+2
817: MOVEI TAC,BLTBEG
818: ADDI TAC,37
819: ASH TAC,-5
820: MOVEM TAC,BOOTSE
821: MOVEM TAC,USROFF
822: PUSHJ P,USECTOR
823: MOVNI TAC,DDTA-37
824: ASH TAC,-5
825: ADDM TAC,USROFF
826: JRST IOPWAIT
DDT page# 0018 next prev
828:
829:
830: SETBUF: DATAO IOP,[XWD -40,DDTBUF]
831: MOVE TAC,R
832: ASH TAC,-5
833: ADD TAC,USROFF
834: PUSHJ P,USECTOR
835: JRST IOPWAIT
836:
837:
838:
839:
840:
841:
842:
843: DDTMES: HRLI TAC,(<POINT 7,0>)
844: JSR DDTTYPE
845: JRST 1(TAC)
846:
847: SECTOR: CAIL TAC,2300
848: ADDI TAC,1B24-2300
849: ADD TAC,SYSBAND
850: DATAO DSK,TAC
851: POPJ P,
852:
853: USECTOR:
854:
855: CAIL TAC,2300
856: ADDI TAC,1B24-2300
857: ADD TAC,DDTBAND
858: DATAO DSK,TAC
859: POPJ P,
860:
861: IOPWAIT:
862: CONSZ DSK,1B27
863: POPJ P,
864: MOVSI TAC,2
865: CONSO IOP,IOPANY!IOPJDN
866: SOJG TAC,.-1
867: JUMPE TAC,CPOPJ
868: CONSO IOP,IOPANY
869: CONSZ DSK,3770
870: POPJ P,
871: JRST CPOPJ1
DDT page# 0019 next prev
873:
874:
875: SWPEXM: CONSO APR,MAOFF
876: JRST CPOPJ2
877: SKIPN EXMCOR
878: SKIPE KEEPIN
879: JRST CPOPJ2
880: HLRE W,SYMLOC
881: MOVNS W
882: CAIL R,DDTA
883: CAILE R,DDTA+100(W)
884: JRST CPOPJ2
885: MOVEI T,DDTTRY
886: PUSH P,S
887: PUSH P,R
888: EXMLOS: CONO DSK,0
889: CONO IOP,0
890: PUSHJ P,SETBUF
891: SOJG T,EXMLOS
892: POP P,R
893: POP P,S
894: JUMPLE T,DSKLOS
895: MOVE T,R
896: ANDI T,37
897: MOVE T,DDTBUF(T)
898: POPJ P,
899: DSKLOS: PUSH P,TAC
900: JSP TAC,DDTMES
901: ASCIZ/
902: DISK REFERENCE LOST!
903: /
904: POP P,TAC
905: JRST CPOPJ1
906:
907: SWPDEP: MOVEM T,SWPWRD
908: PUSHJ P,SWPEXM
909: JRST SWPDP1
910: POPJ P,
911: JRST CPOPJ1
912: SWPDP1: MOVE W,R
913: ANDI W,37
914: MOVE T,SWPWRD
915: MOVEM T,DDTBUF(W)
916: MOVEI W,DDTTRY
917: PUSH P,S
918: PUSH P,R
919: DEPLOS: CONO DSK,0
920: CONO IOP,100
921: PUSHJ P,SETBUF
922: SOJG W,DEPLOS
923: POP P,R
924: POP P,S
925: MOVE T,SWPWRD
926: JUMPG W,CPOPJ
927: SOS (P)
928: JRST DSKLOS
929:
930: >
DDT page# 0020 next prev
932:
933: CPOPJ1: AOS (P)
934: CPOPJ: POPJ P,
935: IFN FTDSWP,<TMPTAC: 0>
936: DDT:
937: IFN FTDSWP,<
938: CONSZ APR,MAOFF
939: JRST DDTP1
940: SKIPE INDDT
941: SKIPN KEEPIN
942: HALT DDT
943: DDTP1: SKIPE NOTDDT
944: JRST [ MOVEM TAC,TMPTAC
945: MOVE TAC,[POINT 7,[ASCIZ/SORRY, CAN'T GET DDT!
946: /]]
947: JSR DDTTYPE
948: MOVE TAC,TMPTAC
949: HALT DDT]
950: >
951: JSR SAVE
952: IFN FTDSWP&EDDT&1,<
953: JRST DDTA
954: JRST DDTB
955:
956:
957:
958: LIT
959: VAR
960:
961: DDTBUF: BLOCK 40
962: ↑↑DDTA:
963: >
964: PUSHJ P,REMOVB
965: DDTB: PUSHJ P,CHKSYM
966: HLRZ T,ESTU
967: SUB T,ESTU
968: MOVE W,@SYMP
969: ADD T,W
970: TRNE T,-1
971: HRRZM W,ESTU
972: MOVE T,PRGM
973: SUB T,W
974: TSC T,T
975: MOVE W1,PRGM
976: XOR W1,W
977: TRNN W1,1
978: JUMPE T,DD1
979: SETZM PRGM
980: SETZM BLOCK
981: DD1: TLZ F,ROF
982: PUSHJ P,CRF
983: DD1.5: MOVE T,[XWD SCHM,SCH]
984: BLT T,ODF
985: DD2: SETZM PRNC
986: MOVEI P,PS
987: LIS: MOVE T,ESTU
988: MOVEM T,ESTUT
989: TDZ F,[XWD 777777-ROF-STF,LF1+CF1+SBF+ITF+EQF+Q2F]
990: SETZM IOTFLG
991: LIS0: TDZ F,[XWD 777777-ROF-STF-FAF-SAF,NAF]
992: SETZM WRD
993: LIS1: SETZM FRASE
994: LIS2: MOVEI T,1
995: MOVEM T,FRASE1
996: TLZ F,MLF+DVF
997: L1: TLZ F,CF+CCF+SF+FPF
998: SETZM SYL
999: L1RPR: SETZM SYM
1000: MOVEI T,6
1001: MOVEM T,TEMDDT
1002: MOVE T,[POINT 7,TXT]
1003: MOVEM T,CHP
1004: SETZM DENDDT
1005: SETZM WRD2
1006:
1007: L2: PUSHJ P,TIN
1008: CAIL T,"A"+40
1009: CAILE T,"Z"+40
1010: SKIPA
1011: TRC T,40
1012: TLNE F,CF
1013: JRST L21
1014: CAIG T,"Z"
1015: CAIGE T,"A"
1016: JRST .+2
1017: JRST LET
1018: L21: MOVE R,T
1019: CAILE T,137
1020: JRST ERR
1021: IDIVI R,3
1022: LDB W,BDISP(R+1)
1023: CAIGE W,MULT-DDT
1024: JRST DDT(W)
DDT page# 0021 next prev
1026: MOVE T,SYL
1027: TLZN F,LTF
1028: JRST POWER
1029: MOVE T,[XWD OPEVAL,EVAL]
1030: SKIPN WRD
1031: MOVSS T
1032: MOVEM T,SAVE
1033: JRST L213
1034: L212: HLRZS T,SAVE
1035: JUMPE T,UND1
1036: L213: PUSHJ P,(T)
1037: JRST L212
1038: L4: TLZE F,MF
1039: MOVN T,T
1040: TLNN F,SF
1041: CAIE W,LPRN-DDT
1042: JRST .+2
1043: JRST LPRN
1044:
1045: EXCH T,FRASE1
1046: TLNN F,DVF
1047: IMULB T,FRASE1
1048: TLZE F,DVF
1049: IDIVB T,FRASE1
1050: CAIGE W,ASSEM-DDT
1051: JRST DDT(W)
1052: ADDB T,FRASE
1053: CAIGE W,SPACE-DDT
1054: JRST DDT(W)
1055:
1056: ADD T,WRD
1057: TLNE F,TIF
1058: HLL T,WRD
1059: MOVEM T,WRD
1060: TLNN F,QF
1061: MOVE T,LWT
1062: SETZM R
1063: MOVE W1,ESTUT
1064: CAMN W1,ESTU
1065: JRST L5
1066: CAILE W,CARR-DDT
1067: JRST ERR
1068: L5: CAIG W,RPRN-DDT
1069: JRST DDT(W)
1070: PUSH P,KILRET
1071: SKIPN PRNC
1072: JRST DDT(W)
1073:
1074: ERR: MOVEI W1,"?"
1075: JRST WRONG1
1076: UNDEF: MOVEI W1,"U"
1077: JRST WRONG1
1078: WRONG: MOVE W1,[ASCII /XXX/]
1079: WRONG1: MOVEI P,PS
1080: PUSHJ P,TEXT
1081: IFN EDDT&1,<PUSHJ P,LCT
1082: PUSHJ P,LISTEN
1083: JFCL
1084: JRST DD2>
DDT page# 0022 next prev
1086: RET: MOVEI P,PS
1087: PUSHJ P,LCT
1088: JRST DD2
1089:
1090: UND1: MOVE R,ESTUT
1091: HLRE S,ESTUT
1092: ASH S,-1
1093: HRLOI W1,37777+DELI+LOCAL
1094: PUSHJ P,EVAL2
1095: CAIN W,ASSEM-DDT
1096: TLNN F,ROF
1097: JRST UNDEF
1098: SKIPE PRNC
1099: JRST UNDEF
1100: MOVEI T,"#"
1101: CAIE W,ASSEM-DDT
1102: PUSHJ P,TOUT
1103:
1104: MOVN R,[XWD 2,2]
1105: ADDB R,ESTUT
1106: MOVE T,SYM
1107: TLO T,GLOBAL
1108: MOVEM T,(R)
1109: HRRZ T,LLOCO
1110: TLNE F,MF
1111: TLO T,400000
1112: MOVEM T,1(R)
1113: MOVEI T,0
1114: JRST L4
1115:
1116: QUESTN: PUSHJ P,CRF
1117: MOVE R,ESTU
1118: QUEST1: JUMPGE R,DD1
1119: MOVE T, (R)
1120: SKIPA W1,ESTU
1121:
1122: QUEST2: ADD W1,[XWD 2,2]
1123: CAME T,(W1)
1124: JRST QUEST2
1125:
1126: CAME R,W1
1127: JRST QUEST4
1128: PUSHJ P,SPT
1129: PUSHJ P,CRF
1130: QUEST4: ADD R,[XWD 2,2]
1131: JRST QUEST1
DDT page# 0023 next prev
1133: NUM: ANDI T,17
1134: TLNE F,CF+FPF
1135: JRST NM1
1136: MOVE W,SYL
1137: LSH W,3
1138: ADD W,T
1139: MOVEM W,SYL
1140: MOVE W,DENDDT
1141: IMULI W,12
1142: ADD W,T
1143: MOVEM W,DENDDT
1144: LE1: AOJA T,LE1A
1145:
1146: PERC: MOVEI T,47+101-13
1147: LET: TLC F,SF+FPF
1148: TLZN F,LTF+FEF+SF+FPF
1149: CAIE T,105
1150: TLOA F,LTF
1151: TLOA F,FEF
1152: JRST LET1
1153: TLZN F,MF
1154: SKIPA W1,SYL
1155: MOVN W1,SYL
1156: MOVEM W1,FSV
1157: SETZM DENDDT
1158: LET1: SUBI T,101-13
1159: LE1A: TLO F,SF+QF
1160: LE2: MOVE W,SYM
1161: MOVEI R,101-13(T)
1162: IMULI W,50
1163: ADD W,T
1164: SOSGE TEMDDT
1165: JRST L2
1166: IDPB R,CHP
1167: MOVEM W,SYM
1168: JRST L2
1169:
1170: NUM1: EXCH T,WRD2
1171: IMULI T,12
1172: ADDM T,WRD2
1173: TRO F,Q2F
1174: JRST L2
1175:
1176: NM1: TLNE F,CF
1177: JRST NUM1
1178: MOVSI R,204500
1179: FMPRM R,FHDTMP
1180: FMPRM R,FHTTMP
1181: MOVSI R,211000(T)
1182: FADRB R,FHTTMP
1183: FDVR R,FHDTMP
1184: MOVEM R,SYL
1185: AOJA T,LE1A
1186:
1187: CHKSYM: HLRZ T,ESTU
1188: SUB T,ESTU
1189: MOVE W,@SYMP
1190: ADD T,W
1191: TRNE T,-1
1192: HRRZM W,ESTU
1193: MOVE T,PRGM
1194: SUB T,W
1195: TSC T,T
1196: MOVE W1,PRGM
1197: XOR W1,W
1198: TRNN W1,1
1199: JUMPE T,CPOPJ
1200: SETZM PRGM
1201: SETZM BLOCK
1202: POPJ P,
DDT page# 0024 next prev
1204: POWER: TLNN F,FEF
1205: JRST L4
1206: CAIE W,PLUS
1207: CAIN W,MINUS
1208: TROE F,POWF
1209: TRZA F,POWF
1210: JRST (W)
1211:
1212: MOVE W2,DENDDT
1213: SETZM FRASE
1214: MOVEI W1,FT-1
1215: TLZE F,MF
1216: MOVEI W1,FT01
1217: SKIPA T,FSV
1218: POW2: LSH W2,-1
1219: TRZE W2,1
1220: FMPR T,(W1)
1221: JUMPE W2,L4
1222: SOJA W1,POW2
DDT page# 0025 next prev
1224: PERIOD: MOVE T,LLOC
1225: TLNE F,SF
1226: MOVE T,DENDDT
1227: MOVEM T,SYL
1228: TLNE F,FPF
1229: TLO F,LTF
1230: TLON F,FPF+SF+QF
1231: MOVEI T,0
1232: IDIVI T,400
1233: SKIPE T
1234: TLC T,243000
1235: TLC W1,233000
1236: FAD T,[0]
1237: FAD W1,[0]
1238: FADR T,W1
1239: MOVEM T,FHTTMP
1240: MOVSI T,201400
1241: MOVEM T,FHDTMP
1242: MOVEI T,45
1243: JRST LE2
1244:
1245: QUAN: SKIPA T,LWT
1246: PILOC: MOVEI T, SAVPI
1247: QUAN1: MOVEM T,SYL
1248: QUAN2: TLO F,SF+QF
1249: TLZ F,CF+CCF
1250: JRST L2
1251:
1252: CONTRO:
1253: IFN EDDT&1, <
1254: MOVEI T,"$"
1255: PUSHJ P,TOUT
1256: DOLLAR: TLOE F,CF
1257: TLO F,CCF
1258: JRST L2
1259:
DDT page# 0026 next prev
1261: EVAL0: HRLOI W1,37777+DELI
1262: HLRE S,@SYMP
1263: ASH S,-1
1264: JRST EVAL3
1265:
1266: EVAL1: ADD R,[XWD 2,2]
1267: EVAL2: SKIPL R
1268: MOVE R,@SYMP
1269: AOJG S,CPOPJ
1270: EVAL3: MOVE T,(R)
1271: XOR T,SYM
1272: TLNN T,PNAME
1273: TLOA W1,LOCAL
1274: TDNE T,W1
1275: JRST EVAL1
1276: TLNN T,340000
1277: JRST EVAL1
1278: MOVE T,1(R)
1279: AOS (P)
1280: POPJ P,
1281:
1282:
1283: EVAL: SYMTST
1284: MOVSI W1,DELI
1285: HLRE S,@SYMP
1286: ASH S,-1
1287: SKIPL R,TBLK
1288: JRST EVL1
1289: SETZM TBLK
1290: JRST EVL2
1291: EVL1: SKIPL R,BLOCK
1292: JRST EV5
1293: EVL2: MOVE T,1(R)
1294: MOVEM T,BLVL
1295: JRST EV1
1296:
1297: EV3: CAMN R,@SYMP
1298: JRST EV4
1299: AOJGE S,CPOPJ
1300: EV1: SUB R,[XWD 2,2]
1301: MOVE T,(R)
1302: TDNE T,W1
1303: JRST EV3
1304: LDB T,[POINT 4,(R),3]
1305: CAIN T,3
1306: JRST EV2
1307: SKIPN T
1308: TLOA W1,LOCAL
1309: SKIPA T,(R)
1310: JRST EV3
1311: XOR T,SYM
1312: TLZ T,740000
1313: JUMPN T,EV3
1314: MOVE T,1(R)
1315: JRST CPOPJ1
1316:
1317: EV4: HLRE R,@SYMP
1318: MOVNS R
1319: ADD R,@SYMP
1320: AOJL S,EV1
1321: POPJ P,
1322:
1323: EV2: MOVE T,1(R)
1324: CAMGE T,BLVL
1325: JRST EV2A
1326: EV2B: SUB R,[XWD 2,2]
1327: ADDI S,1
1328: LDB T,[POINT 4,(R),3]
1329: CAIE T,3
1330: JRST EV2B
1331: JRST EV2
1332: EV2A: MOVEM T,BLVL
1333: JRST EV3
1334:
1335: EV5: MOVEI T,1
1336: MOVEM T,BLVL
1337: SKIPGE R,PRGM
1338: JRST EV1
1339: HLRE R,@SYMP
1340: MOVNS R
1341: ADD R,@SYMP
1342: JRST EV1
1343:
1344:
1345:
1346:
1347:
1348:
1349:
1350: TEXI: PUSHJ P,TEXIN
1351: MOVEM T,SYL
1352: MOVEI W1,5
1353: MOVEI T-1,0
1354: PUSHJ P,TEXIN
1355: TLNE F,CCF
1356: JRST TEXI4
1357: CAIN T,33
1358: JRST QUAN2
1359: TEXI4: TLNN F,CCF
1360: JRST TEXI5
1361: MOVE R,WRD2
1362: CAIE R,7
1363: JRST SIXBIN
1364: JRST TEXI6
1365: TEXI5: TLNE F,CF
1366: JRST SIXBIN
1367: SKIPA
1368: TEXI2: PUSHJ P,TEXIN
1369: TEXI6: CAMN T,SYL
1370: SOJA W1,TEXI3
1371: ROT T,-7
1372: LSHC T-1,7
1373: SOJG W1,TEXI2
1374: TLNN F,CCF
1375: JRST TEXI2
1376: LSHC T-1,-43
1377: PUSH P,F
1378: TLZ F,CF
1379: TLO F,QF
1380: PUSHJ P,DEPRA
1381: POP P,F
1382: AOS LLOCO
1383: MOVEI T-1,0
1384: MOVEI W1,5
1385: JRST TEXI2
1386:
1387: TEXI3: LSHC T-1,-43
1388: JUMPL W1,TEXI7
1389: JUMPL W1,QUAN1
1390: LSH T,7
1391: SOJA W1,.-2
1392: TEXI7: TLNN F,CCF
1393: JRST QUAN1
1394: LSHC T-1,-43
1395: PUSH P,F
1396: TLZ F,CF
1397: TLO F,QF
1398: PUSHJ P,DEPRA
1399: POP P,F
1400: AOS LLOCO
1401: MOVEI T,0
1402: JRST QUAN1
1403:
1404: BYTI: TRZN F,Q2F
1405: JRST PERC
1406: SKIPN T,WRD2
1407: JRST BYTIM
1408: MOVEM T,SVBTI
1409: SETZM SVBTI1
1410: MOVEI T,=36
1411: MOVEM T,SVBTI2
1412: BYTI4: MOVEI T+1,0
1413: BYTI3: PUSHJ P,TEXIN
1414: CAIN T,","
1415: JRST BYTI1
1416: CAIN T,33
1417: JRST BYTI2
1418: CAIL T,"0"
1419: CAILE T,"7"
1420: JRST ERR
1421: IMULI T+1,10
1422: ADDI T+1,-"0"(T)
1423: JRST BYTI3
1424: BYTI1: PUSHJ P,BYTI1A
1425: JRST BYTI4
1426: BYTI1A: MOVN T+2,SVBTI
1427: ROT T+1,(T+2)
1428: MOVE T,SVBTI1
1429: MOVE T+2,SVBTI
1430: CAMLE T+2,SVBTI2
1431: MOVE T+2,SVBTI2
1432: LSHC T,(T+2)
1433: MOVNS T+2
1434: ADDM T+2,SVBTI2
1435: MOVEM T,SVBTI1
1436: POPJ P,
1437: BYTI2: PUSHJ P,BYTI1A
1438: MOVE T,SVBTI1
1439: LSH T,@SVBTI2
1440: JRST QUAN1
1441: BYTIM: MOVEI T,=36
1442: MOVEM T,SVBTI
1443: SETZM SVBTI1
1444: MOVE T+2,BMASK
1445: BYTIM1: MOVEI T+1,0
1446: BYTIM2: PUSHJ P,TEXIN
1447: CAIN T,","
1448: JRST BYTIM3
1449: CAIN T,33
1450: JRST BYTIM6
1451: CAIL T,"0"
1452: CAILE T,"7"
1453: JRST ERR
1454: IMULI T+1,10
1455: ADDI T+1,-"0"(T)
1456: JRST BYTIM2
1457: BYTIM3: PUSHJ P,BYTIM4
1458: JRST BYTIM1
1459: BYTIM4: SKIPG SVBTI
1460: POPJ P,
1461: SETZM SVBTI2
1462: SKIPL T+2
1463: SETCA T+2,0
1464: BYTIM5: LSH T+2,1
1465: ROT T+1,-1
1466: AOS SVBTI2
1467: SOSLE SVBTI
1468: JUMPL T+2,BYTIM5
1469: MOVE T,SVBTI1
1470: LSHC T,@SVBTI2
1471: MOVEM T,SVBTI1
1472: POPJ P,
1473:
1474: BYTIM6: PUSHJ P,BYTIM4
1475: MOVE T,SVBTI1
1476: LSH T,@SVBTI
1477: JRST QUAN1
1478: SVBTI: 0
1479: SVBTI1: 0
1480: SVBTI2: 0
DDT page# 0027 next prev
1482: SIXBI1: PUSHJ P,TEXIN
1483: SIXBIN: CAMN T,SYL
1484: JRST SIXBI2
1485: CAIL T,"A"+40
1486: CAILE T,"Z"+40
1487: JRST .+2
1488: SUBI T,40
1489: ANDI T,77
1490: TRC T,40
1491: ROT T,-6
1492: LSHC T-1,6
1493: SOJGE W1,SIXBI1
1494: TLNN F,CCF
1495: JRST SIXBI1
1496: MOVE T,T-1
1497: PUSH P,F
1498: TLZ F,CF
1499: TLO F,QF
1500: PUSHJ P,DEPRA
1501: POP P,F
1502: AOS LLOCO
1503: MOVEI T-1,0
1504: MOVEI W1,5
1505: JRST SIXBI1
1506: SIXBI2: MOVE T,T-1
1507: JUMPL W1,QUAN1
1508: LSH T,6
1509: SOJA W1,.-2
1510:
1511: KILL: TLNN F,LTF
1512: JRST ERR
1513: PUSHJ P,EVAL
1514: JRST KILL1
1515: MOVEI T,DELO/200000
1516: TLNE F,CCF
1517: MOVEI T,DELI/200000
1518: DPB T,[POINT 2,(R),1]
1519: KILRET: JRST RET
1520:
1521:
1522: KILL1: MOVE R,ESTU
1523: JUMPGE R,UNDEF
1524: KILL2: PUSHJ P,EVAL0
1525: JRST RET
1526: PUSHJ P,REMUN
1527: JRST KILL2
1528:
1529: REMUN: MOVE S,[XWD 2,2]
1530: ADDB S,ESTU
1531: MOVE W,-2(S)
1532: MOVEM W,(R)
1533: MOVE W,-1(S)
1534: MOVEM W,1(R)
1535: POPJ P,
1536:
DDT page# 0028 next prev
1538: TAG: TLNN F,LTF
1539: JRST ERR
1540: TLNE F,FAF
1541: JRST DEFIN
1542: TLNE F,CF
1543: JRST SETNAM
1544: MOVE W,LLOCO
1545: HRRZM W,DEFV
1546:
1547: DEFIN: PUSHJ P,EVAL
1548: JRST DEF1
1549: JRST DEF2
1550: DEF1: MOVN R,[XWD 2,2]
1551: ADDB R,@SYMP
1552: HRRZ T,ESTU
1553: SUBI T,2
1554: HRL T,ESTU
1555: HRRM T,ESTU
1556: SKIPGE ESTU
1557: BLT T,-1(R)
1558: DEF2: MOVE T,DEFV
1559: MOVEM T,1(R)
1560: MOVSI T,GLOBAL
1561: IORB T,SYM
1562: MOVEM T,(R)
1563: MOVE R,ESTU
1564:
1565: DEF3: JUMPGE R,RET
1566: MOVE T,SYM
1567: CAME T,(R)
1568: JRST DEF4
1569: MOVE S,DEFV
1570: SKIPGE 1(R)
1571: MOVN S,S
1572: PUSH P,R
1573: MOVE R,1(R)
1574: PUSHJ P,FETCH
1575: JRST ERR
1576: ADD S,T
1577: HRRM S,T
1578: PUSHJ P,DEP
1579: POP P,R
1580: PUSHJ P,REMUN
1581: DEF4: ADD R,[XWD 2,2]
1582: JRST DEF3
DDT page# 0029 next prev
1584: SETNAM: SYMTST
1585: MOVE R,@SYMP
1586: REPEAT 0,<SET1: MOVE W,R
1587: SET2: JUMPGE R,UNDEF
1588: MOVE T,(R)
1589: ADD R,[XWD 2,2]
1590: TLNE T,PNAME
1591: JRST SET2
1592: CAME T,SYM
1593: JRST SET1
1594: MOVEM W,PRGM
1595: JRST RET>
1596:
1597: SET1: JUMPGE R,UNDEF
1598: MOVE T,(R)
1599: CAMN T,SYM
1600: JRST SET2
1601: ADD R,[XWD 2,2]
1602: JRST SET1
1603: SET2: MOVEM R,PRGM
1604: SETZM BLOCK
1605: SET3: CAMN R,@SYMP
1606: JRST RET
1607: SUB R,[XWD 2,2]
1608: LDB T,[POINT 4,(R),3]
1609: JUMPE T,RET
1610: CAIE T,3
1611: JRST SET3
1612: MOVE T,(R)
1613: XOR T,SYM
1614: TLZ T,740000
1615: JUMPN T,SET3
1616: JRST SBPRM
1617:
1618: SETBLK: TLNN F,LTF
1619: JRST ERR
1620: SKIPL R,PRGM
1621: JRST ERR
1622: SYMTST
1623: SB1: CAMN R,@SYMP
1624: JRST UNDEF
1625: SUB R,[XWD 2,2]
1626: LDB T,[POINT 4,(R),3]
1627: JUMPE T,UNDEF
1628: CAIE T,3
1629: JRST SB1
1630: MOVE T,(R)
1631: XOR T,SYM
1632: TLZ T,740000
1633: JUMPN T,SB1
1634: TLNE F,CF
1635: JRST SBPRM
1636: MOVEM R,TBLK
1637: JRST L1RPR
1638: SBPRM: MOVEM R,BLOCK
1639: JRST RET
1640:
1641: MULT: TLOA F,PTF+MLF
1642: DIVD: TLO F,DVF+PTF
1643: JRST L1
1644:
1645: ASSEM: JRST PLUS
1646: MINUS: TLO F,MF
1647: PLUS: TLO F,PTF
1648: JRST LIS2
1649:
1650: LPRN: CAML P,[XWD LPDL-4,0]
1651: JRST ERR
1652: PUSH P,F
1653: PUSH P,WRD
1654: PUSH P,FRASE
1655: PUSH P,FRASE1
1656: AOS PRNC
1657: JRST LIS
1658:
1659: INDIRECT: HRLZI W,20
1660: IORB W,WRD
1661: TLO F,QF
1662: JRST LIS2
1663:
1664: ACCF: MOVE R,T
1665: TLOE F,COMF
1666: JRST ACCCF
1667: ADD T,WRD
1668: HRRM T,ACCCF
1669: HLLZ T,R
1670: LSH R,27
1671: SKIPE IOTFLG
1672: LSH R,1
1673: ADD T,R
1674: ADDB T,WRD
1675: JRST SPACE+1
1676: ACCCF: MOVSI T,0
1677: MOVEM T,WRD
1678: JRST SPACE+1
1679:
1680: SPACE: TLNE F,QF
1681: TLO F,TIF
1682: SPAC1: TLZ F,MF+PTF
1683: JRST LIS1
DDT page# 0030 next prev
1685: RPRN: TLNN F,QF
1686: MOVEI T,0
1687: MOVS T,T
1688: SOSGE PRNC
1689: JRST ERR
1690: POP P,FRASE1
1691: POP P,FRASE
1692: POP P,WRD
1693: POP P,F
1694: TLNE F,PTF
1695: TLNE F,SF
1696: JRST RPRN1
1697: MOVEM T,SYL
1698: TLO F,QF+SF
1699: JRST L1RPR
1700: RPRN1: ADDB T,WRD
1701: TLO F,QF
1702: JRST L1RPR-1
DDT page# 0031 next prev
1704:
1705:
1706: LINEF: PUSHJ P,DEPRA
1707: IFE EDDT&1,<PUSHJ P,CRNRB
1708: JRST .+2>
1709: LI0: PUSHJ P,CRF
1710: AOS T,LLOC
1711: LI1: HRRZS T
1712: HRRZM T,LLOC
1713: HRRZM T,LLOCO
1714: PUSHJ P,PAD
1715: MOVEI T,"/"
1716: TLNE F,STF
1717: MOVEI T,"!"
1718: PUSHJ P,TOUT
1719: LI2: TLZ F,ROF
1720: PUSHJ P,LCT
1721: MOVE R,LLOCO
1722: PUSHJ P,FETCH
1723: JRST ERR
1724: TLO F,ROF
1725: TLNE F,STF
1726: JRST DD2
1727: JRST CONSYM
1728:
1729: VARRW: PUSHJ P,DEPRA
1730: PUSHJ P,CRF
1731: SOS T,LLOC
1732: JRST LI1
1733:
1734: IFN UEDDTS,<
1735:
1736: DARRW: MOVE R,LLOCO
1737: SKIPE SPCFLG
1738: CAML R,SYSTOP
1739: JRST DARRW1
1740: LSH R,-5
1741: MOVEM R,WCMA+2
1742: MOVEI R,40
1743: MOVEM R,WCMA+1
1744: MOVEI R,FBDATA
1745: MOVEM R,WCMA
1746: MOVEI R,400100
1747: FBREAD R,WCMA
1748: JRST DARRRE
1749: MOVE R,LLOCO
1750: ANDI R,37
1751: CAMN T,FBDATA(R)
1752: JRST DARRW1
1753: MOVEM T,FBDATA(R)
1754: MOVEI R,400100
1755: FBWRT R,WCMA
1756: JRST DARRWE
1757: DARRW1:
1758: PUSHJ P,DEPRA
1759: JRST DD1
1760:
1761: DARRRE: OUTSTR [ASCIZ/
1762: FAST BAND READ FAILED./]
1763: JRST DARRE
1764:
1765: DARRWE: OUTSTR [ASCIZ/
1766: FAST BAND WRITE FAILED./]
1767: DARRE: OUTSTR [ASCIZ/
1768: WILL NOT STORE IN CORE EITHER./]
1769: JRST DD1
1770:
1771:
1772: CARR: PUSHJ P,DEPRA
1773: IFN EDDT&1,<JRST DD1>
1774: IFE EDDT&1,<JRST DD1.5>
1775:
1776:
1777: OCON: TROA F,LF1+CF1
1778: OSYM: TRZ F,CF1
1779: TROA F,LF1
1780: SUPTYO: TLOA F,STF
1781: SLASH: TLZ F,STF
1782: TLNN F,CF
1783: JRST SLAS2
1784: PUSHJ P,EFFECA
1785: JRST ERR
1786: SLAS2: TLNN F,QF
1787: JRST SLAS1
1788: MOVE R,LLOC
1789: MOVEM R,SAVLOC
1790: HRRZM T,LLOC
1791: SLAS1: HRRZM T,LLOCO
1792: JRST LI2
1793:
1794: ICON: TLNN F,ROF
1795: JRST ERR
1796: PUSHJ P,DEPRS
1797: TLNN F,CF
1798: JRST SLAS1
1799: PUSHJ P,EFFECA
1800: JRST ERR
1801: JRST SLAS1
DDT page# 0032 next prev
1803: LTAB: MOVSS T
1804: CAIA
1805: TAB: PUSHJ P,DEPRS
1806: TLNN F,CF
1807: JRST TAB1
1808: PUSHJ P,EFFECA
1809: JRST ERR
1810: TAB1: MOVEI T,-1(T)
1811: EXCH T,LLOC
1812: MOVEM T,SAVLOC
1813: HRROI T,700000
1814: PUSHJ P,TEXTT
1815: JRST LI0
1816:
1817: DEPRA: MOVE R,SAVLOC
1818: TLNE F,CF
1819: EXCH R,LLOC
1820: MOVEM R,SAVLOC
1821: TLNE F,ROF
1822: TLNN F,QF
1823: JRST DEPRS
1824: MOVE R,ESTU
1825: MOVEM W1,ESTU
1826: DEPRA2: JUMPGE R,DEPRS
1827: HRRZ W,1(R)
1828: CAMN W,LLOCO
1829: PUSHJ P,REMUN
1830: ADD R,[XWD 2,2]
1831: JRST DEPRA2
1832:
1833: EQUAL: TLNE F,CF
1834: TRO F,EQF
1835: TROA F,LF1+CF1
1836: PSYM: TRZ F,CF1
1837: TRO F,LF1
1838: PUSHJ P,CONSYM
1839: JRST RET
1840:
1841: R50PNT: LSH T,-36
1842: TRZ T,3
1843: PUSHJ P,TOC
1844: PUSHJ P,TSPC
1845: SETZM SVFB
1846: MOVEI W1,LWT
1847: JRST SPT
1848:
1849: SIXBP: MOVNI W2,6
1850: MOVE W1,LWT
1851: SIXBP1: MOVEI T,0
1852: ROTC T,6
1853: ADDI T,40
1854: PUSHJ P,TOUT
1855: AOJL W2,SIXBP1
1856: POPJ P,
DDT page# 0033 next prev
1858:
1859:
1860:
1861: JOBSET:
1862: IFE UEDDTS,<
1863: JRST ERR
1864: >
1865: IFN UEDDTS,<
1866: MOVE T,WRD2
1867: SKIPL T
1868: CAMLE T,400222
1869: JRST UNDEF
1870: MOVEM T,EXJOBN
1871: JUMPE T,[MOVEI R,37
1872: JRST .+1]
1873: MOVEI R,44
1874: PUSHJ P,FETCH
1875: SETZ T,
1876: MOVEM T,MEMSIZ
1877: SKIPE EXJOBN
1878: TLNN F,CCF
1879: TDZA T,T
1880: SETO T,
1881: EXCH T,EXSYMS
1882: CAMN T,EXSYMS
1883: JUMPE T,RET
1884: PUSHJ P,COPSYM
1885: JRST DDTB
1886: >
1887:
1888: TEXO: MOVEI R,TEXTT-HLFW
1889: MOVE T,WRD2
1890: CAIN T,6
1891: MOVEI R,SIXBP-HLFW
1892: CAIN T,5
1893: MOVEI R,R50PNT-HLFW
1894: CAIN T,11
1895: MOVEI R,TEXTT9-HLFW
1896: HWRDS: ADDI R,HLFW-TFLOT
1897: SFLOT: ADDI R,TFLOT-PIN
1898: SYMBOL: ADDI R,PIN-TOCC
1899: CON: ADDI R,TOCC-FTOC
1900: UCON: ADDI R,FTOC
1901: HRRZ SCH,R
1902: JRST BASE1
1903:
1904: RELA: TRZE F,Q2F
1905: JRST BASECH
1906: MOVEI R,PADSO-TOC
1907: ABSA: ADDI R,TOC
1908: HRRZ AR,R
1909: JRST BASE1
1910:
1911: BASECH: MOVE T,WRD2
1912: CAIGE T,2
1913: JRST ERR
1914: HRRZ ODF,T
1915: BASE1: MOVS S,[XWD SCHM,SCH]
1916: TLNN F,CCF
1917: JRST LIS1
1918: BLT S,ODFM
1919: JRST RET
1920:
1921: SEMIC: MOVEM T,LWT
1922: JRST (SCH)
DDT page# 0034 next prev
1924:
1925:
1926: STR:
1927: GO: HRLI T,254000
1928: TLOE F,QF
1929: JRST XEC0
1930: IFN EDDT&1,< SKIPE T,STARTA>
1931: IFE EDDT&1,< HRR T,JOBSA>
1932:
1933: XEC: TLNN F,QF
1934: JRST ERR
1935: JRST XEC0
1936:
1937: BREAKA: PUSHJ P,REMOVB
1938: BREAKB: PUSHJ P,CHKSYM
1939: SOS T,BCOM3
1940: HRRZS T
1941: SUBI T,B1ADR-4
1942: IDIVI T,4
1943: HRRM T,BREAK2
1944: MOVE W1,BRKNAM-1(T)
1945: PUSHJ P,TEXT2
1946:
1947: MOVSI W1,(<ASCIZ />/>)
1948: SKIPG @BCOM2
1949: MOVSI W1,(<ASCIZ />>/>)
1950: PUSHJ P,TEXT2
1951: MOVE T,BCOM
1952: HLLM T, SAVPI
1953: MOVEI T,-1(T)
1954: PUSHJ P,PAD
1955: HRRZ T,@BCOM3
1956: HRRM T,PROC0
1957: HLRZ T,@BCOM3
1958: JUMPE T,BREAK1
1959: PUSHJ P,LCT
1960: HLRZ T,@BCOM3
1961: PUSHJ P,LI1
1962: BREAK1: MOVSI S,400000
1963: BREAK2: ROT S,0
1964: PUSHJ P,LISTEN
1965: TDNN S,AUTOPI
1966: JRST RETB
1967: MOVEI T,2
1968: ADDB T,@BCOM2
1969: JUMPL T,PROCD1
1970: ANDCAM S,AUTOPI
1971: JRST RETB
1972:
1973: RADIX =10
1974: BRKNAM: FOR @% I←1,NBP
1975: < ASCII /$%I%B/
1976: >
1977: RADIX =8
1978:
1979: PROCEDE: TLNE F,QF
1980: JRST PROC3
1981: MOVEI T,1
1982: TLNE F,CCF
1983: MOVSI T,200000
1984: PROC3: TLNE F,CCF
1985: MOVNS T
1986: MOVEM T,@BCOM2
1987: HRRZ R,BCOM3
1988: PUSHJ P,AUTOP
1989: PROCD1: PUSHJ P,CRF
1990: PUSHJ P,TTYLEV
1991: PROC0: HRRZI R,XEC1
1992: PUSHJ P,FETCH
1993: JRST BPLUP1
1994: MOVEM T,LEAV
1995: PUSHJ P,INSRTB
1996: JRST PROC2
1997:
1998: PROC2: MOVEI W,100
1999: MOVEM W,TEM1
2000: JRST IXCT5
DDT page# 0035 next prev
2002: IXCT4: IFE EDDT&1,< SUBI T,041
2003: JUMPE T,IINIT
2004: AOJGE T,IXCT6>
2005:
2006: MOVEM R,40
2007: MOVEI R,41
2008: IXCT: SOSL TEM1
2009: PUSHJ P,FETCH
2010: JRST BPLUP
2011: MOVEM T,LEAV
2012: IXCT5: IFN EDDT&1,<
2013: LDB T,[POINT 9,LEAV,8]
2014: CAIN T,254
2015: JRST IXCT6>
2016: HRLZI 17,AC0
2017: BLT 17,17
2018: MOVEI T,@LEAV
2019: DPB T,[POINT 23,LEAV,35]
2020: LDB W1,[POINT 4,LEAV,12]
2021: LDB T,[POINT 9,LEAV,8]
2022: MOVEI P,PS
2023: CAIN T,260
2024: JRST IPUSHJ
2025:
2026: CAIN T,264
2027: JRST IJSR
2028: CAIN T,265
2029: JRST IJSP
2030: CAIN T,266
2031: JRST IJSA
2032: MOVE R,LEAV
2033: TRNN T,700
2034: JRST IXCT4
2035: CAIN T,256
2036: JRST IXCT
2037:
2038: IXCT6: MOVE W,LEAV
2039: MOVEI T,@BCOM
2040: JRST RESTORE
2041:
2042:
2043: BPLUP: PUSHJ P,REMOVB
2044: BPLUP1: JSR SAVE
2045: JFCL
2046: JRST ERR
2047:
2048: IFE EDDT&1,<IINIT: MOVE T,LEAV
2049: MOVEM T,INITL
2050: MOVEI R,@BCOM
2051: PUSHJ P,FETCH
2052: JRST BPLUP
2053: MOVEM T,INITL+1
2054: ADDI R,1
2055: PUSHJ P,FETCH
2056: JRST BPLUP
2057: MOVEM T,INITL+2
2058: MOVEI T,2
2059: ADDM T,BCOM
2060: INITL: 0
2061: 0
2062: 0
2063: SKIPA
2064: AOS BCOM
2065: MOVEI T,@BCOM
2066: JRST IJSR4
DDT page# 0036 next prev
2068: IPUSHJ: DPB W1,[POINT 4,CPUSHP,12]
2069: SETZM TEM3
2070: MOVE W,CPUSHP
2071: MOVE T,LEAV
2072: JRST RESTR1
2073:
2074: CPUSHP: PUSH
2075:
2076: IJSA: MOVE T,BCOM
2077: HRL T,LEAV
2078: EXCH T,AC0(W1)
2079: JRST IJSR2
2080:
2081: IJSR: MOVE T,BCOM
2082: HLL T,SAVPI
2083: IJSR2: MOVE R,LEAV
2084: PUSHJ P,DEP
2085: AOSA T,LEAV
2086: IJSR3: MOVE T,LEAV
2087: IJSR4: MOVSI W,(<JFCL>)
2088: JRST RESTORE
2089:
2090: IJSP: MOVE W,BCOM
2091: HLL T,SAVPI
2092: MOVEM W,AC0(W1)
2093: JRST IJSR3
2094:
2095:
2096:
2097: INSRTB: MOVE S,[JSR BP1]
2098: INSRT1: SKIPE R,B1ADR-BP1(S)
2099: PUSHJ P,FETCH
2100: JRST INSRT3
2101: MOVEM T,B1INS-BP1(S)
2102: MOVE T,S
2103: PUSHJ P,DEP
2104: INSRT3: ADDI S,4
2105: CAMG S,[JSR BPN]
2106: JRST INSRT1
2107: POPJ P,
2108:
2109:
2110:
2111: REMOVB: MOVEI S,BNADR
2112: REMOV1: MOVE T,B1INS-B1ADR(S)
2113: SKIPE R,(S)
2114: PUSHJ P,DEP
2115: SUBI S,4
2116: CAIL S,B1ADR
2117: JRST REMOV1
2118: IFN EDDT&1,<JRST TTYRET>
2119: IFE EDDT&1,<POPJ P,>
2120:
2121:
2122:
DDT page# 0037 next prev
2124:
2125:
2126: BPS: TLZE F,QF
2127: JRST BPS1
2128: TRZE F,Q2F
2129: JRST BPS2
2130: MOVE T,[XWD B1ADR,B1ADR+1]
2131: SETZM B1ADR
2132: BLT T,AUTOPI
2133: JRST RET
2134:
2135: BPS1: TRZN F,Q2F
2136: JRST BPS3
2137: MOVE R,T
2138: TRO F,2
2139: BPS2: MOVE T,WRD2
2140: CAIL T,1
2141: CAILE T,NBP
2142: JRST ERR
2143: IMULI T,4
2144: ADDI T,B1ADR-4
2145: TRZN F,ITF
2146: JRST MASK2
2147: EXCH R,T
2148: JRST BPS5
2149:
2150: BPS3: MOVEI R,B1ADR
2151: BPS4: HRRZ W,(R)
2152: CAIE W,(T)
2153: SKIPN (R)
2154: JRST BPS5
2155: ADDI R,4
2156: CAIG R,BNADR
2157: JRST BPS4
2158: JRST ERR
2159: BPS5: MOVEM T,(R)
2160: SETZM 1(R)
2161: SETZM 2(R)
2162: SETZM 3(R)
2163: IFN EDDT&20,<
2164: CONSO APR,MAOFF
2165: SKIPA S,[CONSZ APR,MAOFF]
2166: MOVE S,[CONSO APR,MAOFF]
2167: MOVEM S,B1SKP-B1ADR(R)
2168: >
2169: AUTOP: SUBI R,B1ADR
2170: IDIVI R,4
2171: MOVEI S,1
2172: LSH S,(R)
2173: ANDCAM S,AUTOPI
2174: TLNE F,CCF
2175: IORM S,AUTOPI
2176: POPJ P,
2177:
DDT page# 0038 next prev
2179:
2180:
2181:
2182: DEPRS: MOVEM T,LWT
2183: MOVE R,LLOCO
2184: TLZE F,ROF
2185: TLNN F,QF
2186: POPJ P,0
2187: DEP: TRNN R,777760
2188: JRST DEP1
2189: IFE UEDDTS,<IFE EDDT&1,<
2190: TRNE R,400000
2191: SKIPA W,JOBHRL
2192: MOVE W,JOBREL
2193: HRRZS W >
2194: IFN EDDT&1,<
2195: IFN FTDSWP,<
2196: PUSHJ P,SWPDEP
2197: POPJ P,
2198: >
2199: HRRZ W,JOBREL>
2200: CAILE W,(R)
2201: MOVEM T,0(R)>
2202:
2203: IFN UEDDTS,<
2204: SKIPE EXJOBN
2205: POPJ P,
2206: CAMG R,MEMSIZ
2207: SKIPN SPCFLG
2208: JRST [ OUTSTR[ASCIZ/DEPOSIT NOT ENABLED!
2209: /]
2210: POPJ P,]
2211: MOVEM T,SPCWRD
2212: MOVEM R,SPCADR
2213: PUSHJ P,LOGIT
2214: SPCWAR 0,DDTSPC
2215: SKIPE SPCADR
2216: JRST .-1
2217: >
2218: POPJ P,0
2219:
2220: DEP1: MOVEM T,AC0(R)
2221: POPJ P,0
2222:
2223: FETCH:
2224: IFE UEDDTS,<
2225: IFE EDDT&1,<
2226: TRNE R,400000
2227: SKIPA T,JOBHRL
2228: MOVE T,JOBREL
2229: HRRZS T
2230: >
2231: IFN EDDT&1,<
2232: IFN FTDSWP,<
2233: PUSHJ P,SWPEXM
2234: JRST CPOPJ1
2235: JRST CPOPJ1
2236: >
2237: HRRZ T,JOBREL
2238: >
2239: CAIGE T,(R)
2240: POPJ P,
2241: TRNN R,777760
2242: SKIPA T,AC0(R)
2243: MOVE T,(R)
2244: JRST CPOPJ1
2245: >
2246:
2247: IFN UEDDTS,<
2248: SKIPE EXJOBN
2249: JRST JEXM
2250: MOVEI T,@PROFF
2251: CAMLE T,PRMAX
2252: JRST [ HRRZ T,R
2253: CAMLE T,MEMSIZ
2254: POPJ P,
2255: PUSHJ P,PRSET
2256: JRST FETCH]
2257: MOVE T,400000(T)
2258: JRST CPOPJ1
2259:
2260: JEXM: TRNE R,777760
2261: JRST JEXM1
2262: MOVE T,[-1,,JOBPC↑]
2263: MOVEM T,EXJOBN+1
2264: MOVEI T,EXJOBN
2265: JOBRD T,
2266: POPJ P,
2267: MOVE T,EXJWRD
2268: TLNE T,10000
2269: ADDI R,20
2270: JEXM1: HRRM R,EXJOBN+1
2271: MOVNI T,1
2272: HRLM T,EXJOBN+1
2273: MOVEI T,EXJOBN
2274: JOBRD T,
2275: POPJ P,
2276: MOVE T,EXJWRD
2277: JRST CPOPJ1
2278: >
DDT page# 0039 next prev
2280: FIRARG: MOVEM T,DEFV
2281: TLO F,FAF
2282: JRST ULIM1
2283: ULIM: TLO F,SAF
2284: HRRZM T,ULIMIT
2285: ULIM1: TLNN F,QF
2286: JRST ERR
2287: JRST LIS0
2288:
2289:
2290: REPEAT 0,<LOOK: SKIPL R,PRGM ;LOOK UP SYMBOL
2291: MOVE R,@SYMP
2292: HLRE S,@SYMP
2293: ASH S,-1 ;SETUP COUNT FOR LENGTH OF SYM TABLE
2294: TLZ F,400000
2295: HRLZI W2,DELO+DELI
2296: MOVEM T,TEMDDT
2297:
2298: LOOK1: TDNE W2,(R)
2299: JRST LOOK3
2300: MOVE T,(R)
2301: TLNN T,PNAME ;NAME
2302: TLOA W2,LOCAL
2303: SKIPA T,TEMDDT
2304: JRST LOOK3
2305: MOVE W,1(R)
2306: XOR W,T
2307: JUMPL W,LOOK3
2308: SUB T,1(R)
2309: JUMPL T,LOOK3
2310: JUMPGE F,LOOK2
2311: MOVE W,1(R)
2312: SUB W,1(W1)
2313: JUMPLE W,LOOK3
2314: LOOK2: HRR W1,R ;POINTER BEST VALUE SO FAR
2315: TLO F,400000
2316: JUMPE T,SPT0
2317: LOOK3: ADD R,[XWD 2,2]
2318: SKIPL R
2319: MOVE R, @SYMP
2320: AOJLE S,LOOK1 ;TERMINATING CONDITION
2321: MOVE T,TEMDDT
2322: TLNE F,400000
2323: SUB T,1(W1)
2324: JRST CPOPJ1>
2325: LOOK: SETZM SVFB
2326: SETZM SVTB
2327: SETZM BLVL
2328: SYMTST
2329: HLRE S,@SYMP
2330: ASH S,-1
2331: TLZ F,600000
2332: MOVEM F,SVF
2333: HRLZI W2,DELO+DELI
2334: MOVEM T,TEMDDT
2335: SKIPL R,PRGM
2336: JRST TOPDWD
2337: LOOK1: SUB R,[XWD 2,2]
2338: TDNE W2,(R)
2339: JRST LOOK3
2340: LDB T,[POINT 4,(R),3]
2341: CAIN T,3
2342: JRST BLNME
2343: JUMPE T,PNAM
2344: MOVE T,TEMDDT
2345: MOVE W,1(R)
2346: XOR W,T
2347: JUMPL W,LOOK3
2348: SUB T,1(R)
2349: JUMPL T,LOOK3
2350: JUMPGE F,LOOK2
2351: MOVE W,1(R)
2352: SUB W,1(W1)
2353: JUMPLE W,LOOK3
2354: LOOK2: HRR W1,R
2355: TLO F,400000
2356: TLNE F,200000
2357: JRST LOOK2A
2358: MOVE W,SVTB
2359: MOVEM W,SVFB
2360: LOOK2A: TLNE W2,LOCAL
2361: SETZM SVFB
2362: JUMPE T,LOOK4
2363: LOOK3: CAMN R,@SYMP
2364: JRST TOPDWN
2365: LOOK3A: AOJLE S,LOOK1
2366: MOVE T,TEMDDT
2367: TLNE F,400000
2368: SUB T,1(W1)
2369: JUMPE T,SPT0
2370: JRST CPOPJ1
2371:
2372: TOPDWD: TLO W2,LOCAL
2373: TOPDWN: HLRE R,@SYMP
2374: MOVNS R
2375: ADD R,@SYMP
2376: JRST LOOK3A
2377:
2378: BLNME: MOVEM R,SVTB
2379: MOVE T,1(R)
2380: CAMN R,BLOCK
2381: JRST BLNM1
2382: CAML T,BLVL
2383: JRST BLNM2
2384: BLNM1: MOVEM T,BLVL
2385: TLNE F,200000
2386: JRST LOOK3
2387: EXCH F,SVF
2388: EXCH W1,SW1
2389: TLO F,200000
2390: JRST LOOK3
2391:
2392: BLNM2: TLNN F,200000
2393: JRST LOOK3
2394: PNAM1: EXCH F,SVF
2395: EXCH W1,SW1
2396: JRST LOOK3
2397:
2398: PNAM: TLO W2,LOCAL
2399: TLNN F,200000
2400: JRST LOOK3
2401: JUMPGE F,LOOK5
2402: MOVE F,SVF
2403: JUMPGE F,PNAM2
2404: MOVE T,1(W1)
2405: EXCH W1,SW1
2406: CAMGE T,1(W1)
2407: JRST LOOK5A
2408: MOVE W1,SW1
2409: PNAM2: SETZM SVFB
2410: TLO F,400000
2411: TLZ F,200000
2412: JRST LOOK3
2413:
2414: LOOK4: TLZN F,200000
2415: JRST LOOK3
2416: SETZM SVFB
2417: JRST SPT0
2418:
2419: LOOK5: EXCH F,SVF
2420: EXCH W1,SW1
2421: LOOK5A: MOVE T,1(W1)
2422: CAMN T,TEMDDT
2423: JRST SPT0
2424: JRST LOOK3
DDT page# 0040 next prev
2426: CONSYM: MOVEM T,LWT
2427: TRNN F,LF1
2428: JRST (SCH)
2429: TRNE F,CF1
2430: JRST FTOC
2431:
2432: LFPIN: JFCL
2433: RFPIN: JFCL
2434: PIN:
2435: TLC T,700000
2436: TLCN T,700000
2437: JRST INOUT
2438: AND T,[XWD 777000,0]
2439: JUMPE T,HLFW
2440: PUSHJ P,OPTYPE
2441: PIN1: MOVSI T,777000
2442: AND T,LWT
2443: TRNN F,ITF
2444: PUSHJ P,LOOK
2445: TROA F,NAF
2446: JRST HLFW
2447: PUSHJ P,TSPC
2448: LDB T,[XWD 270400,LWT]
2449: JUMPE T,PI4
2450: PUSHJ P,PAD
2451: PI3A: MOVEI W1,","
2452: PUSHJ P,TEXT
2453: PI4: MOVE W1,LWT
2454: MOVEI T,"@"
2455: TLNE W1,20
2456: PUSHJ P,TOUT
2457: HRRZ T,LWT
2458: LDB W,[XWD 331100,LWT]
2459: CAIL W,240
2460: CAILE W,247
2461: JRST PI8
2462: TLNN W1,20
2463: CAIN W,<JFFO>⊗-33
2464: JRST PI8
2465: PUSHJ P,PADS3A
2466: PI7: TRZ F,NAF
2467: LDB R,[XWD 220400,LWT]
2468: JUMPE R,PADS1
2469: MOVEI T,"("
2470: PUSHJ P,TOUT
2471: MOVE T,R
2472: PUSHJ P,PAD
2473: MOVEI T,")"
2474: JRST TOUT
2475:
2476: PI8: CAIN SCH,LFPIN
2477: JRST LFFLG
2478: CAIN SCH,RFPIN
2479: JRST RFFLG
2480: PI8A: PUSHJ P,PAD
2481: JRST PI7
2482:
DDT page# 0041 next prev
2484: HLFW:
2485: HLRZ T,LWT
2486: JUMPE T,HLFW1
2487: TRO F,NAF
2488: PUSHJ P,PAD
2489: MOVSI W1,(<ASCII /,,/>)
2490: PUSHJ P,TEXT2
2491: HLFW1: HRRZ T,LWT
2492:
2493: PAD:
2494: JRST (AR)
2495: PADSO: JUMPE T,TOC2+1
2496: PUSHJ P,LOOK
2497: PADS1: POPJ P,0
2498: MOVE W2,1(W1)
2499: CAMGE T,MXINC
2500: CAIGE W2,60
2501: JRST PADS3
2502: MOVEM T,TEMDDT
2503: JUMPGE F,PAD1
2504: PUSHJ P,SPT0
2505: MOVEI T,"+"
2506: PADS1A: PUSHJ P,TOUT
2507: HRRZ T,TEMDDT
2508: PAD1: JRST TOC
2509:
2510: PADS3: MOVE T,TEMDDT
2511: PADS3A: TRNE F,NAF
2512: CAIGE T,776000
2513: JRST TOC
2514: PADS3B: CAMN T,[-1,,0]
2515: JRST PADS3C
2516: MOVNM T,TEMDDT
2517: MOVEI T,"-"
2518: JRST PADS1A
2519:
2520: PADS3C: MOVEI T,"-"
2521: PUSHJ P,TOUT
2522: MOVSI T,1
2523: JRST TOC
2524:
2525: INOUT: TLC T,-1
2526: TLCN T,-1
2527: JRST PADS3B
2528: TLC T,777000
2529: TLCN T,777000
2530: JRST HLFW
2531: MOVSI R,-IOTLG
2532: LDB W2,[POINT 7,T,9]
2533: LSH W2,2
2534: CKIOT: CAMN W2,IOTBL(R)
2535: JRST ISIOT
2536: AOBJN R,CKIOT
2537: JRST PIN1
2538: ISIOT: LDB R,[POINT 3,T,12]
2539: DPB R,[POINT 6,T,8]
2540: PUSHJ P,OPTYPE
2541: PUSHJ P,TSPC
2542: LDB T,[POINT 7,LWT,9]
2543: JUMPE T,INOU1
2544: LSH T,2
2545: IFN EDDT&1!UEDDTS,< MOVSI W1,-IOTB2L
2546: IOTLK: MOVE W,IOTB2(W1)
2547: ANDI W,177
2548: LSH W,2
2549: CAMN T,W
2550: JRST IOTFD
2551: AOBJN W1,IOTLK
2552: PUSHJ P,LOOK
2553: JRST PI3A
2554: MOVE T,TEMDDT
2555: PUSHJ P,TOC
2556: JRST PI3A
2557: IFE EDDT&1!UEDDTS,<INOU1: JRST PI4>
2558: IFN EDDT&1!UEDDTS,<IOTFD: MOVE W1,IOTB2(W1)
2559: TRZA W1,177
2560: INOU1: MOVE W1,[ASCII /APR/]
2561: PUSHJ P,TEXT2
2562: JRST PI3A
2563:
2564: DEFINE XQ (A,B)
2565: <<ASCII /A/>!<B⊗-2>
2566: >
2567: IOTB2:
2568: DEVICES
2569: IOTB2L←.-IOTB2>
DDT page# 0042 next prev
2571: MASK: TLNE F,QF
2572: JRST MASK1
2573: MOVEI T,MSK
2574: MASK2: MOVEI W,1
2575: MOVEM W,FRASE1
2576: JRST QUAN1
2577: MASK1: MOVEM T,MSK
2578: JRST RET
2579:
2580: EFFEC: TLO F,LTF
2581: HRRZ T,T
2582: WORD: MOVEI R,322000-326000
2583: NWORD: ADDI R,326000+40*T
2584: HRLM R,SEAR2
2585:
2586: TLZN F,QF
2587: JRST ERR
2588: SETCAM T,WRD
2589: MOVSI T,FRASE-DENDDT-1
2590: SETCMM FRASE(T)
2591: AOBJN T,.-1
2592: MOVE T,ULIMIT
2593: TLNE F,SAF
2594: TLO F,QF
2595: PUSHJ P,SETUP1
2596: PUSHJ P,CRF
2597: SEAR1: PUSHJ P,FETCH
2598: JRST SEAR2A
2599: TLNE F,LTF
2600: JRST EFFEC0
2601: EQV T,WRD
2602: AND T,MSK
2603: SEAR2: JUMPE T,SEAR3
2604: SEAR2A: PUSHJ P,LISTEN
2605: CAIA
2606: JRST SEAR2B
2607: CAMN R,[-1]
2608: JRST SEAR2B
2609: AOBJN R,SEAR1
2610: TLNE R,777777
2611: JRST SEAR1
2612: SEAR2B: SETCMM LWT
2613: JRST DD1
DDT page# 0043 next prev
2615: SEAR3: PUSHJ P,FETCH
2616: JRST ERR
2617: TLZ F,STF
2618: MOVEM R,TEM2
2619: MOVEM R,T
2620: PUSHJ P,LI1
2621: PUSHJ P,CRF
2622: SETCMM LWT
2623: SETCMM TEMDDT
2624: SEAR4: MOVE R,TEM2
2625: JRST SEAR2A
2626:
2627: EFFEC0: TLNE F,CCF
2628: JRST EFFECR
2629: MOVEM R,TEM2
2630: PUSHJ P,EFFECA
2631: JRST SEAR4
2632: MOVE R,TEM2
2633: EFFECR: EQV T,WRD
2634: ANDI T,777777
2635: JRST SEAR2
2636: EFFECA: MOVEI W,100
2637: MOVEM W,TEMDDT
2638: EFFEC1: MOVE W,T
2639: LDB R,[POINT 4,T,17]
2640: JUMPE R,EFFEC2
2641: HRRZ T,AC0(R)
2642: ADD T,W
2643: EFFEC2: HRR R,T
2644: TLNN W,20
2645: JRST EFFEC3
2646: SOSE TEMDDT
2647: PUSHJ P,FETCH
2648: POPJ P,
2649: JRST EFFEC1
2650: EFFEC3: HRRZS T
2651: JRST CPOPJ1
2652:
DDT page# 0044 next prev
2654: SETUP: TROA F,R20F
2655: SETUP1: TRZ F,R20F
2656: TLNN F,SAF
2657: IFE UEDDTS,<MOVE T,JOBREL>
2658: IFN UEDDTS,{MOVE T,MEMSIZ
2659: HLLI T,
2660: MOVEM T,ULIMIT
2661: IFE UEDDTS,<CAMLE T,JOBREL>
2662: IFN UEDDTS,{CAMLE T,MEMSIZ}
2663: JRST ERR
2664: HRRZ R,DEFV
2665: TLNN F,FAF
2666: MOVEI R,0
2667: CAML R,ULIMIT
2668: JRST ERR
2669: MOVEM R,DEFV
2670: MOVEI W,-1(R)
2671: SUB W,ULIMIT
2672: HRLM W,R
2673: POPJ P,0
2674:
2675: ZERO: TLNN F,CCF
2676: JRST ERR
2677: MOVE W2,T
2678: TLNN F,QF
2679: MOVEI W2,0
2680: HRRZ T,ULIMIT
2681: PUSHJ P,SETUP
2682: ZERO1: TRNE R,777760
2683: JRST ZERO2
2684: MOVEM W2,AC0(R)
2685: AOBJN R,ZERO1
2686: JRST DD1
2687: ZERO2: HRRZ R, R
2688: CAIGE R,ZLOW
2689: MOVEI R,ZLOW
2690: HRRZ S,T
2691: CAIL S, DDT
2692: MOVEI S, DDT
2693: CAMLE S,R
2694: JSP W,ZEROR
2695: HRRZ R,R
2696: CAIG R, DDTEND
2697: MOVEI R, DDTEND
2698: HRRZ S,T
2699: CAMLE S, R
2700: JSP W,ZEROR
2701: JRST DD1
2702:
2703: ZEROR: HRL R,R
2704: MOVEM W2,(R)
2705: ADDI R, 1
2706: BLT R, -1(S)
2707: JRST (W)
2708:
DDT page# 0045 next prev
2710: TOCC: TRO F,EQF
2711: FTOC:
2712: TOC: HRRZ W1,ODF
2713: CAIN W1,12
2714: JRST TOC4
2715: TRZE F,EQF
2716: JRST TOCA
2717: CAIN W1,10
2718: TLNN T,-1
2719: JRST TOCA
2720: HRRM T,TOCS
2721: HLRZS T
2722: PUSHJ P,TOCA
2723: MOVSI W1,(<ASCII /,,/>)
2724: PUSHJ P,TEXT2
2725: TOCS: MOVEI T,0
2726: TOCA: LSHC T,-43
2727: LSH W1,-1
2728: TOC1: DIVI T,(ODF)
2729: HRLM W1,0(P)
2730: TOC3: JUMPE T,TOC2
2731: PUSHJ P,TOCA
2732: TOC2: HLRZ T,0(P)
2733: ADDI T,"0"
2734: JRST TOUT
2735:
2736: TOC4: MOVM W1,T
2737: JUMPGE T,TOC5
2738: MOVEI T,"-"
2739: PUSHJ P,TOUT
2740: TOC5: MOVEI T,0
2741: PUSHJ P,TOC1
2742: TOC6: MOVEI T,"."
2743: JRST TOUT
2744:
2745: SPT0: HRRZM W1,SPSAV
2746: SPT:
2747: MOVE T,SVFB
2748: JUMPE T,SPT1W
2749: CAMN T,BLOCK
2750: JRST SPT1W
2751: PUSH P,W1
2752: LDB T,[POINT 32,(T),35]
2753: PUSHJ P,SPT1
2754: MOVEI T,"&"
2755: PUSHJ P,TOUT
2756: POP P,W1
2757: SPT1W: LDB T,[POINT 32,(W1),35]
2758: SPT1: IDIVI T,50
2759: HRLM W1,0(P)
2760: JUMPE T,SPT2
2761: PUSHJ P,SPT1
2762: SPT2: HLRZ T,0(P)
2763: JUMPE T,CPOPJ
2764: ADDI T,260-1
2765: CAILE T,271
2766: ADDI T,301-272
2767: CAILE T,332
2768: SUBI T,334-244
2769: CAIN T,243
2770: SPT3: MOVEI T,256
2771: JRST TOUT
2772:
2773: SYMD: MOVEI T,DELO/200000
2774: HRRZ R,SPSAV
2775: JUMPE R,ERR
2776: DPB T,[POINT 2,(R),1]
2777: MOVE T,LWT
2778: JRST CONSYM
2779:
2780:
2781:
2782: ESTU: 0
2783: ESTUT: 0
DDT page# 0046 next prev
2785:
2786:
2787: TFLOT: MOVE A,T
2788: JUMPG A, TFLOT1
2789: JUMPE A,FP1A
2790: MOVNS A
2791: MOVEI T,"-"
2792: PUSHJ P,TOUT
2793: TLZE A,400000
2794: JRST FP1A
2795: TFLOT1:
2796: TLNN A, 400
2797: JRST FP7A
2798:
2799: FP1: MOVEI B,0
2800: CAMGE A,FT01
2801: JRST FP4
2802: CAML A,FT8
2803: AOJA B,FP4
2804: FP1A: MOVEI C,0
2805:
2806: FP3: MULI A,400
2807: ASHC B,-243(A)
2808: MOVE A,B
2809: SETZM TEM1
2810: PUSHJ P,FP7
2811: PUSHJ P,TOC6
2812: MOVNI A,10
2813: ADD A,TEM1
2814: MOVE W1,C
2815: FP3A: MOVE T,W1
2816: MULI T,12
2817: PUSHJ P,FP7B
2818: SKIPE W1
2819: AOJL A,FP3A
2820: POPJ P,
2821:
2822: FP4: MOVNI C,6
2823: MOVEI W2,0
2824: FP4A: ASH W2,1
2825: XCT FCP(B)
2826: JRST FP4B
2827: FMPR A,@FCP+1(B)
2828: IORI W2,1
2829: FP4B: AOJN C,FP4A
2830: PUSH P,FSGN(B)
2831: PUSHJ P,FP3
2832: POP P,W1
2833: MOVE A,W2
2834: PUSHJ P,TEXT
DDT page# 0047 next prev
2836: FP7: JUMPE A,FP7A2
2837: IDIVI A,12
2838: AOS TEM1
2839: HRLM B,(P)
2840: JUMPE A,FP7A1
2841: PUSHJ P,FP7
2842: FP7A1: HLRZ T,(P)
2843: FP7B: ADDI T,260
2844: JRST TOUT
2845: FP7A: PUSHJ P,FP7
2846: MOVEI T,"."
2847: JRST TOUT
2848: FP7A2: MOVEI T,"0"
2849: JRST TOUT
2850:
2851: 353473426555
2852: 266434157116
2853: FT8: 233575360400
2854: 216470400000
2855: 207620000000
2856: 204500000000
2857: FT: 201400000000
2858: 026637304365
2859: 113715126246
2860: 146527461671
2861: 163643334273
2862: 172507534122
2863: FT01: 175631463146
2864: FT0←←FT01+1
2865:
2866: FCP: CAMLE A, FT0(C)
2867: CAMGE A, FT(C)
2868: XWD C,FT0
2869:
2870: FSGN: ASCII .E-.
2871: ASCII .E+.
2872:
2873: TEXTT: MOVE W1,T
2874: TEXT: TLNN W1,774000
2875: LSH W1,35
2876: TEXT2: MOVEI T,0
2877: LSHC T,7
2878: CAILE T,04
2879: PUSHJ P,TOUT
2880: JUMPN W1,TEXT2
2881: POPJ P,
2882:
2883:
2884: TEXTT9: MOVE W1,T
2885: TEXTT0: MOVEI T,0
2886: LSHC T,11
2887: PUSH P,T
2888: LSH T,-7
2889: PUSH P,T
2890: SKIPA T,["↑"]
2891: PUSHJ P,TOUT
2892: SOSL (P)
2893: JRST .-2
2894: POP P,(P)
2895: POP P,T
2896: ANDI T,177
2897: SKIPE T
2898: PUSHJ P,TOUT
2899: JUMPN W1,TEXTT0
2900: POPJ P,
DDT page# 0048 next prev
2902: IFN EDDT&1&<EDDT>B36,<
2903:
2904:
2905: PSR: TLNN F,ROF
2906: JRST ERR
2907: MOVEM T,LWT
2908: PUSHJ P,DEPRS
2909: HRRZM R,DEFV
2910: MOVE T,R
2911: JRST PUN2
2912:
2913: PUNCH: TLC F,FAF+QF
2914: TLCE F,FAF+QF
2915: JRST ERR
2916: PUN2: ADDI T,1
2917: HRRZM T,TEM1
2918: SUB T,DEFV
2919: JUMPLE T,ERR
2920:
2921: PUN1: MOVEI T,10
2922: PUSHJ P,FEED
2923: HRRZ R,DEFV
2924: IORI R,37
2925: ADDI R,1
2926: CAMLE R,TEM1
2927: MOVE R,TEM1
2928: EXCH R,DEFV
2929: MOVE T,R
2930: SUB T,DEFV
2931: HRL R,T
2932: JUMPGE R,RET
2933:
2934: PBLK: MOVE T,R
2935: SOS W,T
2936: PUSHJ P,PWRD
2937: PBLK1: PUSHJ P,FETCH
2938: JRST ERR
2939: ADD W,T
2940: PUSHJ P,PWRD
2941: AOBJN R,PBLK1
2942: MOVE T,W
2943: PUSHJ P,PWRD
2944: JRST PUN1
2945:
2946: >
DDT page# 0049 next prev
2948: IFN EDDT&1&<EDDT>B36,<
2949:
2950:
2951: LOADER: TLNE F,QF
2952: JRST ERR
2953: MOVEI T,400
2954: PUSHJ P,FEED
2955: MOVE R,LOADE
2956: LOAD1: MOVE T,0(R)
2957: PUSHJ P,PWRD
2958: AOBJN R,LOAD1
2959: MOVEI T,100
2960: LOAD2: PUSHJ P,FEED
2961: JRST RET
2962:
2963: BLKEND: TLNN F,QF
2964: MOVE T,[JRST 4,DDT]
2965: TLO T,254000
2966: PUSH P,T
2967: MOVEI T,100
2968: PUSHJ P,FEED
2969: POP P,T
2970: PUSHJ P,PWRD
2971: PUSHJ P,PWRD
2972: MOVEI T,500
2973: JRST LOAD2
2974:
2975: PWRD: MOVEI W1,6
2976: PWRD2: ROT T,6
2977: CONSZ PTPP,20
2978: JRST .-1
2979: CONO PTPP,50
2980: DATAO PTPP,T
2981: SOJG W1,PWRD2
2982: POPJ P,0
2983:
2984: FEED: CONSZ PTPP,20
2985: JRST .-1
2986: CONO PTPP,10
2987: DATAO PTPP,FEED1
2988: SOJN T,FEED
2989: FEED1: POPJ P,0
2990:
2991: >
DDT page# 0050 next prev
2993: IFN EDDT&1&<EDDT>B36,<
2994:
2995:
2996: VERIFY: TLO F,LTF
2997: CORE: PUSHJ P,SETUP1
2998: CONO PTRR,60
2999: CORE1: CONSO PTRR,10
3000: JRST .-1
3001: DATAI PTRR,T
3002: CAME T,LOADE-1
3003: JRST CORE1
3004: PUSHJ P,CRF
3005: PUSHJ P,BLOCKQ
3006:
3007: CORE2: PUSHJ P,GETW
3008: CAML R,DEFV
3009: CAML R,ULIMIT
3010: JRST VER3
3011: TLNE F,LTF
3012: JRST VER2
3013: PUSHJ P,DEP
3014: JRST VER3
3015:
3016: VER2: MOVEM T,TEM2
3017: PUSHJ P,FETCH
3018: JRST ERR
3019: MOVEM T,TEM3
3020: XOR T,TEM2
3021: AND T,MSK
3022: JUMPE T,VER3
3023: PUSH P,S
3024: PUSH P,R
3025: HRRZ T,R
3026: PUSHJ P,PAD
3027: MOVEI T,257
3028: PUSHJ P,TOUT
3029: PUSHJ P,LCT
3030: MOVE T,TEM3
3031: PUSHJ P,CONSYM
3032: PUSHJ P,LCT
3033: MOVE T,TEM2
3034: PUSHJ P,CONSYM
3035: PUSHJ P,CRF
3036: POP P,R
3037: POP P,S
3038: VER3: PUSHJ P,LISTEN
3039: AOJA R,CORE2
3040: RUNEND: PUSHJ P,BLOCKQ
3041: JRST .-1
3042:
3043:
3044: >
DDT page# 0051 next prev
3046: IFN EDDT&1&<EDDT>B36,<
3047:
3048:
3049:
3050: GETW: JUMPL S,GETW1
3051: PUSHJ P,BLOCKQ
3052: GETW1: MOVE T,1(S)
3053: AOBJP S,.+1
3054: POPJ P,0
3055:
3056: BLOCKS: CONO PTRR,60
3057: BLOCKQ: CONSO PTRR,10
3058: JRST .-1
3059: DATAI PTRR,W
3060: JUMPL W,BLK1
3061: MOVEM W,STARTA
3062: CONO PTRR,0
3063: JRST DD1
3064: BLK1: MOVEM W,W1
3065: TLC W,777740
3066: TLCE W,777740
3067: JRST ERR
3068: ADDI W,1
3069: HRRZM W,R
3070: HRRI W,BUFF-1
3071: MOVEM W,S
3072: BLK2: CONSO PTRR,10
3073: JRST .-1
3074: BLKI PTRR,W
3075: JRST BLK3
3076: ADD W1,0(W)
3077: JRST BLK2
3078: BLK3: ADD W1,0(W)
3079: CONSO PTRR,10
3080: JRST .-1
3081: DATAI PTRR,W
3082: CAMN W,W1
3083: POPJ P,0
3084: CONO PTRR,0
3085: JRST 4,BLOCKS
3086:
3087:
3088:
3089:
3090:
3091: >
DDT page# 0052 next prev
3093: IFN EDDT&1&<EDDT>B36,<
3094:
3095:
3096: LOADB:
3097:
3098: IFE EDDT&10,<
3099: DATAI PTRR,1
3100: XWD -1,-22
3101: DATAI PTRR,2
3102: CONSO PTRR,10
3103: DATAI PTRR,3
3104: JRST 2
3105: MOVE 4,37
3106: HRLI 4,710441
3107: DATAI PTRR,5
3108: AOJN 1,2
3109: DATAI PTRR,6
3110: JRST -6(4)
3111: JRST 2
3112:
3113:
3114: MOVE 0,1
3115: CONSO PTRR,10
3116: JRST -21(4)
3117: DATAI PTRR,0(1)
3118: ROT 0,1
3119: ADD 0,(1)
3120: AOBJN 1,-21(4)
3121: CONSO PTRR,10
3122: JRST -13(4)
3123: DATAI PTRR,1
3124: CAME 1,0
3125: JRST 4,-6(4)
3126: CONSO PTRR,10
3127: JRST -6(4)
3128: DATAI PTRR,1
3129: JUMPL 1,-22(4)
3130: CONO PTRR,0
3131: JRST 1
3132:
3133: >
3134: IFN EDDT&10,<
3135: PHASE 0
3136: XWD -16,0
3137: BEG: CONO PTRR,60
3138: HRRI PTRR,10
3139: RD: CONSO PTRR,10
3140: JRST .-1
3141: DATAI PTRR,@TBL1-RD+1(AA)
3142: XCT TBL1-RD+1(AA)
3143: XCT TBL2-RD+1(AA)
3144: AA: SOJA AA,
3145: TBL1: CAME CKSM,ADR
3146: ADD CKSM,1(ADR)
3147: SKIPL CKSM,ADR
3148: TBL2: JRST 4,BEG
3149: AOBJN ADR,RD
3150: ADR: JRST BEG+1
3151: CKSM←←ADR+1
3152:
3153: DEPHASE
3154: >
3155: LOADE: XWD LOADB-.,LOADB
3156: >
3157:
DDT page# 0053 next prev
3159: CRN: MOVEI T,15
3160: JRST TOUT
3161:
3162: IFE EDDT&1,<
3163: CRNRB: PUSHJ P,CRN
3164: MOVEI T,177
3165: JRST TOUT >
3166:
3167: CRF: PUSHJ P,CRN
3168: MOVEI T,12
3169: JRST TOUT
3170:
3171: LCT: IFN EDDT&1,<PUSHJ P,TSPC
3172: PUSHJ P,TSPC>
3173: IFE EDDT&1,<MOVEI T,11
3174: JRST TOUT>
3175:
3176: TSPC: MOVEI T,40
3177: JRST TOUT
3178:
DDT page# 0054 next prev
3180: IFN EDDT&1,<
3181:
3182: TINSTR: ILDB T,STRING
3183: JUMPE T,TIN3
3184: CONSZ TTYY,40
3185: JRST TIN3
3186: CAIE T,15
3187: JRST TIN2
3188: ILDB T,STRING
3189: CAIN T,12
3190: JRST TIN4
3191: MOVSI T,70000
3192: ADDM T,STRING
3193: TIN4: MOVEI T,15
3194: JRST TIN2
3195: TIN3: SETZM STRING
3196: TIN: SKIPE STRING
3197: JRST TINSTR
3198: PUSHJ P,LISTEN
3199: JRST .-1
3200: TIN2: CAIE T,175
3201: CAIN T,176
3202: MOVEI T,33
3203: CAIN T,177
3204: JRST WRONG
3205: TRNE T,140
3206: TOUT: CAIG T,4
3207: POPJ P,
3208: SKIPE OUTRTN
3209: JRST @OUTRTN
3210: IFN EDDT&1,<
3211: SKIPE OUTLPT
3212: JRST LPOUT
3213: >
3214: HRLM T,(P)
3215: IMULI T,200401
3216: AND T,[11111111]
3217: IMUL T,[11111111]
3218: HLR T,(P)
3219: TLNE T,10
3220: TRC T,200
3221: CONSZ TTYY,20
3222: JRST .-1
3223: DATAO TTYY,T
3224: ANDI T,177
3225: POPJ P,0
3226:
3227: IFN EDDT&1,<
3228: LPOUT: IDPB T,LPPTR
3229: SOSLE LPCNT
3230: POPJ P,
3231: PUSH P,T
3232: MOVEI T,5
3233: MOVEM T,LPCNT
3234: DATAO LPT,LPWRD
3235: MOVE T,[POINT 7,LPWRD]
3236: MOVEM T,LPPTR
3237: CONSO LPT,100
3238: JRST .-1
3239: POP P,T
3240: POPJ P,
3241:
3242: LPPTR: POINT 7,LPWRD
3243: LPWRD: 0
3244: LPCNT: 5
3245: >
3246:
3247: LISTEN: CONSO TTYY,40
3248: POPJ P,
3249: DATAI TTYY,T
3250: ANDI T,177
3251: JRST CPOPJ1
3252:
3253: TTYRET: MOVEI T,3410
3254: TTY1: MOVEI W2,40000
3255: CONSZ TTYY,120
3256: SOJG W2,.-1
3257: CONI TTYY,SAVTTY
3258: DATAI TTYY,W2
3259: HRLM W2,SAVTTY
3260: CONO TTYY,(T)
3261: POPJ P,
3262: TTYLEV: MOVE T,SAVTTY
3263: TRZ T,160
3264: TRO T,3600
3265: TRNE T,10
3266: TRZ T,200
3267: JRST TTY1
3268:
3269: TEXIN: PUSHJ P,TIN
3270: TRNN T,140
3271: JRST TOUT
3272: POPJ P,
3273:
3274: >
DDT page# 0055 next prev
3276: IFE EDDT&1,<
3277:
3278: TIN: MOVE T,POUTBF
3279: CAME T,[POINT 7,INBFF]
3280: PUSHJ P,FINOUT
3281: SKIPE STRING
3282: JRST TINSTR
3283:
3284: INCHRW T
3285: CAIN T,15
3286: INCHRW 1(P)
3287: TIN3: CAIE T,176
3288: CAIN T,175
3289: MOVEI T,33
3290: CAIN T,177
3291: JRST WRONG
3292: JUMPN T,CPOPJ
3293:
3294:
3295:
3296: TIN2: SETZM STRING
3297: JRST TIN
3298:
3299: TINSTR: ILDB T,STRING
3300: JUMPE T,TIN2
3301: CAIN T,33
3302: MOVEI T,"$"
3303: SKIPN OUTRTN
3304: JRST TIN4
3305: PUSHJ P,@OUTRTN
3306: JRST TIN3
3307: TIN4: IDPB T,POUTBF
3308: JRST TIN3
3309:
3310: TOUT: JUMPE T,CPOPJ
3311: SKIPE OUTRTN
3312: JRST @OUTRTN
3313: CAIE T,177
3314: JRST NOTDEL
3315: SETO T,
3316: TTYUUO 6,T
3317: TLNE T,526000
3318: POPJ P,
3319: MOVEI T,177
3320: NOTDEL: IDPB T,POUTBF
3321: CAIE T,12
3322: POPJ P,
3323: TTYLEV:
3324: FINOUT: MOVEI T,0
3325: IDPB T,POUTBF
3326: MOVE T,[POINT 7,INBFF]
3327:
3328: MOVEM T,POUTBF
3329:
3330: OUTSTR INBFF
3331: SETZM INBFF
3332: POPJ P,
3333:
3334:
3335: POUTBF: POINT 7,INBFF
3336:
3337: IFE UEDDTS,<
3338: LISTEN: INCHRS T
3339: POPJ P,
3340: CLRBFI
3341: JRST CPOPJ1
3342: >
3343: IFN UEDDTS,<
3344: LISTEN: POPJ P,
3345: >
3346: INBFF: BLOCK 31
3347:
3348: TTYRET:
3349: MOVE T,[POINT 7,INBFF]
3350: MOVEM T,POUTBF
3351:
3352: SETZM INBFF
3353: POPJ P,
3354:
3355:
3356: TEXIN←←TIN
3357: >
DDT page# 0056 next prev
3359: BDISP: POINT 12,DISP(R),11
3360: POINT 12,DISP(R),23
3361: POINT 12,DISP(R),35
3362:
3363: DISP:
3364: DEFINE D' (Z1,Z2,Z3)<
3365: (Z1-DDT)*1B11+(Z2-DDT)*1B23+Z3-DDT
3366: LIST>
3367:
3368: IFE EDDT&1&<EDDT>B36,<
3369: PUNCH←←ERR
3370: BLKEND←←ERR
3371: LOADER←←ERR
3372: VERIFY←←ERR
3373: CORE←←ERR>
3374:
3375:
3376:
3377: D ERR,DARRW,ERR
3378: D ERR,ERR,JOBSET
3379: D ERR,ERR,VARRW
3380: D TAB,LINEF,ERR
3381: D ERR,CARR,ERR
3382: D ERR,ERR,ERR
3383: D PUNCH,ERR,ERR
3384: D ERR,ERR,ERR
3385: D ERR,ERR,ERR
3386: D CONTROL,ERR,LTAB
3387: D ERR,ERR,SPACE
3388: D SUPTYO,TEXI,ASSEM
3389: D DOLLAR,BYTI,SETBLK
3390: D DIVD,LPRN,RPRN
3391: D MULT,PLUS,ACCF
3392: D MINUS,PERIOD,SLASH
3393: D NUM,NUM,NUM
3394: D NUM,NUM,NUM
3395: D NUM,NUM,NUM
3396: D NUM,TAG,SEMIC
3397: D FIRARG,EQUAL,ULIM
3398: D QUESTN,INDIRECT,ABSA
3399: D BPS,CON,SYMD
3400: D EFFEC,SFLOT,STR
3401: D HWRDS,PILOC,FLGMOD
3402: D KILL,LFTT,MASK
3403: D NWORD,BITO,PROCEDE
3404: D QUAN,RELA,SYMBOL
3405: D TEXO,UCON,RFTT
3406: D WORD,XEC,CORE
3407: D ZERO,OCON,ICON
3408: D OSYM,VARRW,PSYM
3409:
3410:
DDT page# 0057 next prev
3412: FLGOUT: SKIPN R,FLGPNT
3413: JRST HLFW
3414: MOVSI W1,400000
3415: FLGLP2: PUSHJ P,PRNTIT
3416: JUMPE W1,[SKIPE EXFLAG
3417: POPJ P,
3418: MOVEI T,"0"
3419: JRST TOUT]
3420: SKIPN EXFLAG
3421: JRST FLGLP2
3422: PUSH P,T
3423: MOVEI T,","
3424: PUSHJ P,TOUT
3425: PUSHJ P,TOUT
3426: POP P,T
3427: JRST FLGLP2
3428:
3429: GETPTR: SKIPN R,FLGPTR
3430: POPJ P,
3431: FLGSLP: HRRZM R,FLGPNT#
3432: TRNE F,Q2F
3433: SOSGE WRD2
3434: JRST CPOPJ1
3435: HLRZS R
3436: JUMPE R,CPOPJ
3437: SKIPE R,(R)
3438: JRST FLGSLP
3439: POPJ P,
3440:
3441: PRNTIT: HRLI R,-=18
3442: SETZM FLGNUM#
3443: SETZM EXFLAG#
3444: FLGLP: TDNN T,W1
3445: JRST NOBIT
3446: SKIPN (R)
3447: JRST [IORM W1,FLGNUM
3448: JRST NOBIT]
3449: PUSH P,T
3450: PUSH P,W1
3451: MOVEI T,"!"
3452: SKIPE EXFLAG
3453: PUSHJ P,TOUT
3454: MOVE T,(R)
3455: PUSHJ P,SPT1
3456: SETOM EXFLAG
3457: POP P,W1
3458: POP P,T
3459: NOBIT: LSH W1,-1
3460: AOBJN R,FLGLP
3461: SKIPE FLGNUM
3462: JRST [PUSH P,T
3463: PUSH P,W1
3464: MOVEI T,"!"
3465: SKIPE EXFLAG
3466: PUSHJ P,TOUT
3467: MOVE T,FLGNUM
3468: TRNN T,-1
3469: MOVSS T
3470: PUSHJ P,TOCC
3471: POP P,W1
3472: POP P,T
3473: SETOM EXFLAG
3474: POPJ P,]
3475: POPJ P,
3476:
3477: FLGMOD: PUSHJ P,GETPTR
3478: SETZM FLGPNT
3479: MOVEI SCH,FLGOUT
3480: JRST BASE1
3481: LFTT: PUSHJ P,GETPTR
3482: SETZM FLGPNT
3483: MOVEI SCH,LFPIN
3484: JRST BASE1
3485: RFTT: PUSHJ P,GETPTR
3486: SETZM FLGPNT
3487: MOVEI SCH,RFPIN
3488: JRST BASE1
3489:
3490: LFFLG: SKIPN R,FLGPNT
3491: JRST PI8A
3492: COMFLG: MOVEI W1,400000
3493: PUSHJ P,PRNTIT
3494: MOVEI T,"0"
3495: SKIPN EXFLAG
3496: PUSHJ P,TOUT
3497: JRST PI7
3498: RFFLG: SKIPN R,FLGPNT
3499: JRST PI8A
3500: ADDI R,=18
3501: JRST COMFLG
DDT page# 0058 next prev
3503: JRST DDT
3504: BITO: MOVEI R,BITT
3505: HRRZI AR,TOC
3506: TRZN F,Q2F
3507: JRST ERR
3508: MOVE T,WRD2
3509: MOVEM T,SVBTS
3510: MOVEI T,=36
3511: IDIV T,WRD2
3512: SKIPE T+1
3513: ADDI T,1
3514: MOVEM T,SVBTS2
3515: HRRZ SCH,R
3516: JRST BASE1
3517: BITT: MOVE T+1,T
3518: SKIPN SVBTS
3519: JRST BITTM
3520: MOVE T,SVBTS2
3521: MOVEM T,SVBT2
3522: MOVEM T+1,SVBT3
3523: BITT2: MOVEI T,0
3524: MOVE T+2,SVBTS
3525: LSHC T,(T+2)
3526: MOVEM T+1,SVBT3
3527: CAIE AR,PADSO
3528: PUSHJ P,FTOC
3529: CAIE AR,TOC
3530: PUSHJ P,PIN
3531: SOSG SVBT2
3532: POPJ P,
3533: MOVEI T,","
3534: PUSHJ P,TOUT
3535: MOVE T+1,SVBT3
3536: JRST BITT2
3537: BITTM: MOVEI T,=36
3538: MOVEM T,SVBT3
3539: MOVE T+2,BMASK
3540: BITTM1: MOVEI T,0
3541: SKIPL T+2
3542: SETCA T+2,
3543: BITTM2: LSHC T,1
3544: LSH T+2,1
3545: SOSLE SVBT3
3546: JUMPL T+2,BITTM2
3547: MOVEM T+2,SVBT2
3548: MOVEM T+1,SVBT4
3549: CAIE AR,PADSO
3550: PUSHJ P,FTOC
3551: CAIE AR,TOC
3552: PUSHJ P,PIN
3553: SKIPG SVBT3
3554: POPJ P,
3555: MOVEI T,","
3556: PUSHJ P,TOUT
3557: MOVE T+1,SVBT4
3558: MOVE T+2,SVBT2
3559: JRST BITTM1
3560:
3561: SVBT4: 0
3562: SVBTS: 0
3563: SVBTS2: 0
3564: SVBT3: 0
3565: SVBT2: 0
3566:
DDT page# 0059 next prev
3568:
3569:
3570:
3571:
3572:
3573:
3574:
3575:
3576:
3577:
3578:
3579:
3580:
3581:
3582:
3583:
3584:
3585:
3586:
3587:
3588:
3589:
3590:
3591:
3592:
3593:
3594:
3595:
3596:
3597:
3598:
3599:
3600:
3601:
3602:
3603:
3604:
DDT page# 0060 next prev
3606:
3607:
3608:
3609:
3610:
3611:
3612:
3613:
3614:
3615:
3616:
3617:
3618:
3619:
3620:
3621:
3622:
3623:
3624:
3625:
3626:
3627:
3628:
3629:
3630:
3631:
3632:
3633:
3634:
3635:
3636:
3637:
3638:
3639:
3640:
3641:
3642:
3643:
3644:
3645:
3646:
3647:
3648:
3649:
3650:
3651:
3652:
3653:
3654:
DDT page# 0061 next prev
3656: SUBTTL OP DECODER
3657:
3658:
3659:
3660:
3661:
3662:
3663:
3664:
3665:
3666:
3667:
3668:
3669:
3670:
3671:
3672:
3673:
3674:
3675:
3676:
3677:
3678:
3679:
3680:
3681:
3682:
3683:
3684:
3685:
3686:
3687:
3688:
3689:
3690:
3691:
3692:
3693:
3694:
3695:
3696:
3697:
3698:
3699:
3700:
3701:
3702:
3703:
3704:
3705:
3706:
DDT page# 0062 next prev
3708: BEGIN OPDEFS
3709: XLIST
3710: DEFINE P' (A)
3711: <OUTP A&70/2+A&7-1
3712: >
3713: DEFINE G' (A)
3714: <OUTP A+73
3715: >
3716: DEFINE T' (A)
3717: <FOR Bε<A> <OUTP "B"-40
3718: >>
3719: DEFINE S' (Q)
3720: <OUTP 40
3721: >
3722: DEFINE L' (A)
3723: <IFGE CLOC+73-2000,<PRINTX OPTABLE TOO LONG>
3724: A←←CLOC
3725: >
3726: DEFINE OUTP' (A)
3727: <CLOC←←CLOC+1
3728: >
3729: DEFINE BYT9' (A)
3730: <FOR B⊂(A) <B
3731: >>
3732:
3733: ↑TBL:
3734: BINRY←←0
3735: CLOC←←0
3736: BINC←←3
3737:
3738: DEFINE TABLE <
3739: BYT9 <P 63,G %UUO,G %FLO,G %HAK,G %ACCP,G %BOOLE,T H,G %HWT,T T,G %ACBM>
3740: BYT9 <P 21,G %BD,T CON,P 11,G %OI,T S,P 01,G %Z,G %O>
3741: BYT9 <L %BD,P 01,T BLK,G %IO,T DATA,L %IO,P 11,G %I,G %O,L %OI,P 1,G %O,G %I>
3742: BYT9 <L %UUO,P 51,S,P 32,G %U40,G %U50,G %U60,P 21,G %U703,P 11,G %USET>
3743: BYT9 <P 1,T LOOKU,G %P,T ENTE,G %R,L %USET,T USET,P 1,G %I,G %O>
3744: BYT9 <L %U40,P 3,G %U47,T INI,G %T,S,T SPCWA,G %R,S,S,S,L %U47,T CALL>
3745: BYT9 <P 1,S,G %I,L %U60,P 21,G %U603,P 1,T IN,G %BPUT,T OUT,L %BPUT>
3746: BYT9 <P 11,T BU,L %F,T F,S,T PU,G %T,L %U50,P 3,T OPE,G %N,S,S,S,S>
3747: BYT9 <T RENAM,G %E,T I,G %N,T OU,G %T,L %U603,P 1,G %U6062,T STAT>
3748: BYT9 <P 11,L %O,T O,S,L %Z,T Z,S,L %U6062,P 11,T S,G %U62,T G,L %U62>
3749: BYT9 <T ETST,G %S,L %U703,P 2,T CLOS,G %E,T RELEA,G %S,T MTAP,G %E>
3750: BYT9 <T UGET,G %F>
3751:
3752: BYT9 <L %FLO,P 51,G %BYTE,T F,P 32,T AD,G %A,T SB,G %A,T MP,G %A,T DV>
3753: BYT9 <L %A,P 21,G %LMB,T R,L %LMB,P 2,S,L %L,T L,S,L %M,T M,S,L %B>
3754: BYT9 <T B,S,L %BYTE,P 32,S,S,S,P 3,S,S,T FS,G %C,T IB,L %P,T P,S>
3755: BYT9 <T I,G %LD,L %LD,T LD,G %B,T I,G %DP,L %DP,T DP,G %B>
3756:
3757: BYT9 <L %HAK,P 33,G %MV,L %MV,T MOV,G %MO,G %ML,G %DV,G %SH,G %H1>
3758: BYT9 <G %JP,P 21,T ADD,G %IMB,T SU,L %BIMB,T B,L %IMB,P 2>
3759: BYT9 <S,L %I,T I,S,G %M,G %B,L %MO,P 22,L %EIMS,T E,G %IMS,T S>
3760: BYT9 <G %IMS,T N,G %IMS,T M,L %IMS,P 2,S,G %I,G %M,L %S,T S,S>
3761: BYT9 <L %ML,P 21,T I,G %ML1,L %ML1,T MUL,G %IMB,L %DV,P 21,T I,G %DV1>
3762: BYT9 <L %DV1,T DI,L %DV2,T V,G %IMB,L %H1,P 3,T EXC,G %S3,T BL,L %T>
3763: BYT9 <T T,S,G %AO,L %AO,T AOBJ,G %AOB,T JRS,G %T,T JFC,G %L,T XC,G %T>
3764: BYT9 <T CON,G %S,L %AOB,P 1,G %P,G %N,L %JP,P 3,G %PU,L %PU,T PUSH>
3765: BYT9 <G %PUS,G %PO,L %PO,T POP,G %POP,T JS,L %R,T R,S,T JS,G %P>
3766: BYT9 <T JS,L %PA,T A,S,T JR,G %PA,L %PUS,P 1,L %J,T J,S,S,L %POP>
3767: BYT9 <P 1,S,G %J,L %SH,P 2,T A,G %S2,T ROT,G %S1,T L,L %S2,T S,L %S3>
3768: BYT9 <T H,G %S1,P 21,T JFF,G %O,T FIX,S,L %S1,P 21,S,L %C,T C,S>
3769:
3770: BYT9 <L %ACCP,P 42,T CA,G %CA1,G %SJ,T A,G %JS,T S,L %JS,T O,P 31>
3771: BYT9 <T J,G %COMP,T S,G %COMP,L %CA1,P 31,T I,G %COMP,T M,G %COMP>
3772: BYT9 <L %SJ,P 31,T JUM,G %PSJ,T SKI,L %PSJ,T P,L %COMP>
3773: BYT9 <P 3,S,G %L,L %E,T E,S,T L,G %E,G %PA,T G,G %E,L %N,T N,S,T G,S>
3774:
3775: BYT9 <L %HWT,P 51,G %HW1,P 21,T R,G %HW2,T L,L %HW2,T R,G %HW3,L %HW1>
3776: BYT9 <P 21,T L,G %HW4,T R,L %HW4,T L,L %HW3,P 32,G %IMS,T Z,G %IMS,T O>
3777: BYT9 <G %IMS,G %EIMS>
3778:
3779: BYT9 <L %ACBM,P 31,G %AC1,P 1,T D,G %AC2,T S,G %AC2,L %AC1,P 1,T R>
3780: BYT9 <G %AC2,T L,L %AC2,P 42,T N,G %EAN,T Z,G %EAN,T C,G %EAN,T O>
3781: BYT9 <L %EAN,P 12,S,G %E,G %PA,G %N>
3782:
3783: BYT9 <L %CB,T C,G %BIMB,L %BOOLE,P 24,G %ST,L %AN,T AND,G %B2,G %AN>
3784: BYT9 <G %ST,G %AN,G %ST,T X,L %OR,T OR,G %B2,T I,G %OR,G %AN,T EQ>
3785: BYT9 <G %DV2,G %ST,G %OR,G %ST,G %OR,G %OR,L %ST,T SET,L %B2>
3786: BYT9 <P 24,T Z,G %IMB,G %IMB,L %CA,T C,G %TA,L %TM,T M,G %IMB,L %CM>
3787: BYT9 <T C,G %TM,L %TA,T A,G %IMB,G %IMB,G %IMB,T C,G %BIMB,G %IMB,G %CA>
3788: BYT9 <G %CA,G %CM,G %CM,G %CB,T O,G %IMB>>
3789: TABLE
3790: DEFINE OUTP (A)
3791: <BINRY←←BINRY⊗12+A
3792: BINC←←BINC-1
3793: IFE BINC,<XLIST
3794: BINRY⊗6
3795: BINRY←←0
3796: BINC←←3
3797: >
3798: CLOC←←CLOC+1
3799: >
3800: CLOC←←0
3801: TABLE
3802: REPEAT BINC,<BINRY←←BINRY⊗12>
3803: IFN BINRY,<BINRY⊗6>
3804:
3805: LIST
3806: BEND
DDT page# 0063 next prev
3808: PNTR: INST
3809: INST: 0
3810: CHP: 0
3811: TXT: BLOCK 2
3812: SAVPDL: 0
3813:
3814: BTAB: POINT 10,TBL
3815: POINT 10,TBL,9
3816: POINT 10,TBL,19
3817:
3818: OPEVAL: MOVEI T,0
3819: IDPB T,CHP
3820: MOVEM P,SAVPDL
3821: TRZA F,OUTF
3822: OPTYPE: TRO F,OUTF
3823: LSH T,-33
3824: MOVEM T,INST
3825: MOVE T,[XWD 440700,TXT]
3826: MOVEM T,CHP
3827: TRZ F,ITF
3828: SETZB R,W1
3829: MOVE W2,BTAB
3830: DC1: ILDB T,W2
3831: CAILE T,40
3832: CAIL T,73
3833: SOJGE R,DC1
3834: JUMPG R,DC1
3835: SUBI T,40
3836: JUMPE T,DECX
3837: JUMPG T,DC2
3838: DPB T,[XWD 340500,PNTR]
3839: TRZ T,-4
3840: AOS T
3841: DPB T,[XWD 300600,PNTR]
3842: TRNN F,OUTF
3843: JRST DC6
3844: LDB R,PNTR
3845: JRST DC1
3846:
3847: DC2: HRREI T,-33(T)
3848: JUMPL T,DECT
3849: MOVE W1,T
3850: IDIVI W1,3
3851: MOVE W2,BTAB(W2)
3852: ADDI W2,(W1)
3853: JRST DC1
3854:
DDT page# 0064 next prev
3856: DECT: TRNE F,OUTF
3857: JRST DC8
3858: ILDB W1,CHP
3859: CAIE W1,133(T)
3860: JRST NOMAT
3861: JRST DC1
3862:
3863: DECX: TRNE F,OUTF
3864: POPJ P,
3865: ILDB W1,CHP
3866: JUMPE W1,DC7
3867: NOMAT: POP P,R
3868: POP P,W2
3869: POP P,PNTR
3870: POP P,CHP
3871: NOMAT1: AOS R
3872: DPB R,PNTR
3873: LDB R,PNTR
3874: JUMPN R,DC6AA
3875: CAME P,SAVPDL
3876: JRST NOMAT
3877: POPJ P,
3878:
3879: DC6: MOVEI R,0
3880: DPB R,PNTR
3881: DC6AA: CAMN P,SAVPDL
3882: JRST DC6BB
3883: LDB T,-2(P)
3884: CAME T,(P)
3885: JRST NOMAT1
3886: DC6BB: PUSH P,CHP
3887: PUSH P,PNTR
3888: PUSH P,W2
3889: PUSH P,R
3890: JRST DC1
3891:
3892: DC7: MOVE P,SAVPDL
3893: MOVE T,INST
3894: LSH T,33
3895: TLC T,700000
3896: TLCE T,700000
3897: JRST CPOPJ1
3898: SETOM IOTFLG
3899: LDB R,[POINT 3,T,8]
3900: DPB R,[POINT 10,T,12]
3901: JRST CPOPJ1
3902:
3903: DC8: TRO F,ITF
3904: MOVEI T,133(T)
3905: PUSHJ P,TOUT
3906: SETZM SPSAV
3907: JRST DC1
DDT page# 0065 next prev
3909: PATCH: BLOCK 10
3910:
3911: IFN EDDT&1&<EDDT>B36,<
3912: BUFF: BLOCK 40>
DDT page# 0066 next prev
3914: IFN UEDDTS,<
3915: FBDATA: BLOCK 40
3916: UESTRT: SETZM EXJOBN
3917: SETZM EXSYMS
3918: MOVEI S,37
3919: CALL S,['PEEK ']
3920: MOVEM S,MEMSIZ#
3921: MOVE T,S
3922: ANDI S,MAXPR-1
3923: HRLZM S,PRSIZ#
3924: ANDI T,¬<MAXPR-1>
3925: MOVEM T,PRTOP#
3926: SETZM SYMSYS#
3927: SETZM SYMLUZ#
3928: MOVEI S,265
3929: CALLI S,33
3930: CALLI S,33
3931: MOVEM S,SYSTOP#
3932: MOVEI T,
3933: MOVEI P,PS
3934: PUSHJ P,PRSET
3935: MOVEI S,DDTEND
3936: MOVE T,74
3937: CAIN T,DDT
3938: MOVEM S,JOBFF
3939: SKIPN S,400036
3940: JRST SYMCOP
3941: OUTSTR[ASCIZ/COPY SYMBOLS?/]
3942: INCHRW W
3943: CAIN W,15
3944: INCHRW W
3945: CAIE W,"Y"
3946: CAIN W,"y"
3947: JRST SYMCOP
3948: TRO S,400000
3949: MOVEM S,EXCSYM#
3950: MOVE S,JOBFF
3951: CALLI S,11
3952: JFCL
3953: SETOM SYMSYS
3954: JRST NOCOP
3955:
3956: SYMCOP: MOVEI P,PS
3957: PUSHJ P,COPSYM
3958: NOCOP: SETZM SPCFLG#
3959: JRST DDT
3960:
3961: COPSYM: SKIPE EXSYMS
3962: JRST USYMS
3963: ESYMS: SETZM EXSYMS
3964: SKIPN R,400036
3965: JRST NOSYMS
3966: JRST CSYMS
3967:
3968: USYMS: MOVEI R,JOBSYM
3969: PUSHJ P,FETCH
3970: SETZ T,
3971: JUMPE T,ESYMS
3972: MOVE R,T
3973: CSYMS: HLRO T,R
3974: MOVNS T
3975: ADD T,JOBFF
3976: IORI T,1777
3977: CALLI T,11
3978: JRST NOCORE
3979: HLRO W1,R
3980: ADD W1,JOBREL
3981: HLL W1,R
3982: HRRM W1,EXCSYM
3983: HLLM R,EXCSYM
3984: UELP1: PUSHJ P,FETCH
3985: SETZ T,
3986: MOVEM T,(W1)
3987: ADDI R,1
3988: AOBJN W1,UELP1
3989: POPJ P,
3990:
3991: NOSYMS: SETZM EXCSYM
3992: MOVE W,JOBFF
3993: MOVEI S,42(W)
3994: CALLI S,11
3995: JRST NOCORE
3996: MOVEI S,400100
3997: MOVEM W,WCMA
3998: MOVEI W2,40
3999: MOVEM W2,WCMA+1
4000: SETZM WCMA+2
4001: FBREAD S,WCMA
4002: JRST FBERR
4003: SKIPN W2,36(W)
4004: JRST NOSYM1
4005: MOVEI W1,(W2)
4006: LSH W1,-5
4007: MOVEM W1,WCMA+2
4008: HLRO W1,W2
4009: MOVNS W1
4010: ADDI W1,40
4011: MOVEM W1,WCMA+1
4012: ADDI W1,2(W)
4013: CALLI W1,11
4014: JRST NOCORE
4015: FBREAD S,WCMA
4016: JRST FBERR
4017: MOVEI W1,(W2)
4018: ANDI W1,37
4019: ADD W1,W
4020: HRRM W1,EXCSYM
4021: HLLM W2,EXCSYM
4022: POPJ P,
4023:
4024: NOCORE: OUTSTR[ASCIZ/CAN'T GET CORE/]
4025: POPJ P,
4026:
4027: FBERR: OUTSTR[ASCIZ/FAST BAND ERROR!/]
4028: POPJ P,
4029:
4030: NOSYM1: OUTSTR[ASCIZ/NO SYMBOLS ANYWHERE???/]
4031: POPJ P,
4032:
4033: WCMA: BLOCK 3
4034:
4035: EXSYMS: 0
4036: EXJOBN: 0
4037: -1,,0
4038: EXJWRD
4039: EXJWRD: 0
4040:
4041: DDTREN: SETZ T,
4042: GETPRV T,
4043: TLNN T,40
4044: JRST NOREN
4045: SETOM SPCFLG
4046: SETZM SPCADR
4047: TLNN T,4
4048: OUTSTR[ASCIZ/FAST BAND WRITE NOT ENABLED.
4049: /]
4050: JRST DDT
4051:
4052: NOREN: OUTSTR[ASCIZ/SORRY, YOU CAN'T DO THAT!
4053: /]
4054: JRST DDT
4055:
4056: DDTSPC: SKIPN SPCADR
4057: CALLI 400024
4058: MOVE 1,SPCADR#
4059: MOVE 3,SPCWRD#
4060: CONSO 1B24
4061: TDZA 4,4
4062: MOVEI 4,1
4063: DATAO 104,[0]
4064: HRROS 2
4065: DATAO 2
4066: MOVNS 2
4067: ADD 1,2
4068: MOVEM 3,(1)
4069: DATAO 104,4
4070: SETZM SPCADR
4071: CALLI 400024
4072:
4073: SYMPR: HRRZ T,EXCSYM
4074: TRZ T,400000
4075: PRSET: ANDI T,¬<MAXPR-1>
4076: CAME T,PRTOP
4077: TLOA T,<MAXPR-1>&376001
4078: HLL T,PRSIZ
4079: SETPR2 T,
4080: JRST PRLUZ
4081: TLO T,1777
4082: HLRZM T,PRMAX#
4083: MOVNS T
4084: HRRM T,PROFF
4085: SKIPN SYMSYS
4086: POPJ P,
4087: ADD T,EXCSYM
4088: SETZM SYMLUZ
4089: MOVEI T,-400000(T)
4090: CAMLE T,PRMAX
4091: SETOM SYMLUZ
4092: POPJ P,
4093:
4094: PRLUZ: OUTSTR [ASCIZ /SETPR2 FAILED!
4095: /]
4096: JRST 4,.
4097:
4098: PROFF: (R)
4099:
4100: LOGIT: INIT 17
4101: 'DSK '
4102: 0
4103: POPJ P,
4104: MOVE T,[' SSYS']
4105: MOVEM T,LOGPPN
4106: LOOKUP LOGNAM
4107: JRST [ HRRZ T,LOGEXT
4108: JUMPN T,LOGLOS
4109: LOGZ0: SETZM LOGBUF
4110: SETZM LOGPTR
4111: AOS LOGPTR
4112: JRST LOGOUT]
4113: EXCH T,LOGPPN
4114: MOVS T,T
4115: MOVN T,T
4116: SOJL T,LOGZ0
4117: LSH T,-7
4118: ADDI T,1
4119: MOVEM T,LOGPTR
4120: USETI @LOGPTR
4121: IN[IOWD 200,LOGBUF↔0]
4122: JRST LOGOUT
4123: STATO 1B22
4124: JRST LOGLOS
4125: LOGOUT: HLLZS LOGEXT
4126: SETZM LOGDAT
4127: ENTER LOGNAM
4128: JRST LOGLOS
4129: MOVE R,[POINT 7,LOGBUF]
4130: LOGZ: ILDB T,R
4131: JUMPN T,LOGZ
4132: ADD R,[70000,,0]
4133: PUSH P,W1
4134: PUSH P,W2
4135: GETPPN W2,
4136: PUSHJ P,LOGSIX
4137: PUSHJ P,INLMES
4138: ASCIZ/ (/
4139: PJOB W1,
4140: PUSHJ P,LOGDEC
4141: PUSHJ P,INLMES
4142: ASCIZ/.) TTY/
4143: SETO W1,
4144: GETLIN W1
4145: HRRZ W1,W1
4146: PUSHJ P,LOGOCT
4147: MOVEI W1,11
4148: PUSHJ P,LOGCHR
4149: DATE W1,
4150: IDIVI W1,=31
4151: PUSH P,W2
4152: IDIVI W1,=12
4153: EXCH W1,(P)
4154: PUSH P,W1
4155: MOVEI W1,1(W2)
4156: PUSHJ P,LOGDC2
4157: MOVEI W1,"-"
4158: PUSHJ P,LOGCHR
4159: POP P,W1
4160: ADDI W1,1
4161: PUSHJ P,LOGDC2
4162: MOVEI W1,"-"
4163: PUSHJ P,LOGCHR
4164: POP P,W1
4165: ADDI W1,=64
4166: PUSHJ P,LOGDEC
4167: MOVEI W1," "
4168: PUSHJ P,LOGCHR
4169: MSTIME W1,
4170: IDIVI W1,=1000*=60
4171: IDIVI W1,=60
4172: PUSH P,W2
4173: PUSHJ P,LOGDC2
4174: POP P,W1
4175: PUSHJ P,LOGDC2
4176: MOVEI W1,11
4177: PUSHJ P,LOGCHR
4178: HRRZ W1,SPCADR
4179: PUSHJ P,LOGOCT
4180: PUSHJ P,INLMES
4181: ASCIZ ?/ ?
4182: MOVE W1,SPCADR
4183: PEEK W1,
4184: SETZM LOGCNT
4185: PUSHJ P,LOGWRD
4186: MOVEI W1,11
4187: MOVE W2,LOGCNT
4188: CAIGE W2,8
4189: PUSHJ P,LOGCHR
4190: PUSHJ P,LOGCHR
4191: MOVE W1,SPCWRD
4192: PUSHJ P,LOGWRD
4193: PUSHJ P,INLMES
4194: ASCIZ/
4195: /
4196: SETZ W1,
4197: LOGZ1: PUSHJ P,LOGCHR
4198: TLNE R,760000
4199: JRST LOGZ1
4200: HRRZ R,R
4201: SUBI R,LOGBUF-1
4202: MOVN R,R
4203: MOVS R,R
4204: HRRI R,LOGBUF-1
4205: MOVEM R,LOGADR
4206: USETO @LOGPTR
4207: OUTPUT LOGADR
4208: POP P,W2
4209: POP P,W1
4210: MOVE T,SPCWRD
4211: MOVE R,SPCADR
4212: LOGLOS: RELEASE
4213: POPJ P,
4214:
4215: LOGDC2: CAIL W1,=10
4216: JRST LOGDEC
4217: PUSH P,W1
4218: MOVEI W1,"0"
4219: PUSHJ P,LOGCHR
4220: POP P,W1
4221: JRST LOGDEC
4222:
4223: LOGWRD: HRLM W1,(P)
4224: HLRZ W1,W1
4225: PUSHJ P,LOGOCT
4226: PUSHJ P,INLMES
4227: ASCIZ/,,/
4228: HLRZ W1,(P)
4229: LOGOCT: SKIPA T,[10]
4230: LOGDEC: MOVEI T,=10
4231: LOGNUM: IDIV W1,T
4232: HRLM W2,(P)
4233: JUMPE W1,.+2
4234: PUSHJ P,LOGNUM
4235: HLRZ W1,(P)
4236: ADDI W1,60
4237: LOGCHR: CAME R,[POINT 7,LOGBUF+177,34]
4238: JRST LOGOK
4239: USETO @LOGPTR
4240: OUTPUT[IOWD 200,LOGBUF↔0]
4241: MOVE R,[POINT 7,LOGBUF]
4242: AOS LOGPTR
4243: LOGOK: IDPB W1,R
4244: AOS LOGCNT
4245: POPJ P,
4246:
4247: LOGSIX: JUMPE W2,CPOPJ
4248: SETZ W1,
4249: LSHC W1,6
4250: ADDI W1,40
4251: PUSHJ P,LOGCHR
4252: JRST LOGSIX
4253:
4254: INLMES: POP P,W2
4255: HRLI W2,(<POINT 7,0>)
4256: INLMS1: ILDB W1,W2
4257: JUMPE W1,1(W2)
4258: PUSHJ P,LOGCHR
4259: JRST INLMS1
4260:
4261: LOGCNT: 0
4262: LOGPTR: 0
4263: LOGADR: 0
4264: 0
4265:
4266: LOGBUF: BLOCK 201
4267:
4268: LOGNAM: 'UEDDT '
4269: LOGEXT: 'LOG '
4270: LOGDAT: 0
4271: LOGPPN: ' SSYS'
4272: >
4273:
4274:
4275: LIT
4276: VAR
4277:
4278: XP DDTEND,.
4279: ↑↑DDTEND←DDTEND
4280:
4281: IFE EDDT&1,<IFE UEDDTS!SAVESW,<END>
4282: IFN UEDDTS,<END UESTRT>
4283: IFN SAVESW,<END DDT>>
4284: IFE EDDT&41-1,<BEND>
4285: IFN EDDT&40,<END>
4286: >
EOF: DDT end-of-file. cnt=65